我有一个超过10K点的seaborn散点图( lmplot
) . 为了感知所有数据,当绘图尺寸较大(使标记相对较小)并且标记上的alpha较低时,它会更好地工作 . 但是,这使得图例上的标记难以区分 . How does one set the marker size and marker alpha in Seaborn?
我看到 g._legend
有一个 markersize
属性,但直接设置它没有做任何事情 .
示例
import numpy as np
import pandas as pd
import seaborn as sns
n_group = 4000
pos = np.concatenate((np.random.randn(n_group,2) + np.array([-1,-1]),
np.random.randn(n_group,2) + np.array([0.2, 1.5]),
np.random.randn(n_group,2) + np.array([0.6, -1.8])))
df = pd.DataFrame({"x": pos[:,0], "y": pos[:, 1],
"label": np.repeat(range(3), n_group)})
g = sns.lmplot("x", "y", df, hue = "label", fit_reg = False,
size = 8, scatter_kws = {"alpha": 0.1})
g._legend.set_title("Clusters")
1 回答
您可以通过设置图例标记本身的Alpha值来完成此操作 . 您也可以使用
_sizes
在相同的for循环中设置标记大小: