我为数据集创建了一个原始的散点图,其中将sizes参数设置为一列,将hue参数设置为另一列。现在,hue参数仅包含五个不同的值,应该有助于对我的数据进行分类,而sizes参数则包含更多的值以表示实际的数值数据。在当前数据集中,我的色相值仅包含0、2和4,但是在“简短”图例选项中,图例标签与之不同步,这非常令人困惑。在“完整”图例选项中,色相标签正确,但是尺寸标签太多。因此,我想显示我的hue参数的完整图例,但只显示size参数的简短图例,因为它包含许多唯一值。
人满为患的“完整”图例看起来如何
带有简单标签的“简短”图例
编辑:我编辑了一些代码,演示了随机数据集的问题。为了再次说明我的问题,我希望“形状”参数能够在图例上完整显示,而“尺寸”参数则必须缩短(相当于图例设置“简要”)。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
x_condition=np.arange(0,20,1)
y_condition=np.arange(0,20,1)
size=np.random.randint(0,200,20)
# I haven't made a random distribution here, because I wanted to make sure it contains at least one of each [0,2,4]
shape=[0,2,0,4]*5
df=pd.DataFrame({"x_condition":x_condition,"y_condition":y_condition,"size":size,"shape":shape})
sns.scatterplot("x_condition", "y_condition", hue="shape", size="size", data=df, palette="coolwarm", legend="brief")
plt.show()
sns.scatterplot("x_condition", "y_condition", hue="shape", size="size", data=df, palette="coolwarm", legend="full")
plt.show()