我正在尝试同时生成两个seaborn内核密度图(kdeplot
)。在
三大特色(社区学校?,经济需求指数,学校收入估算)。唯一明确的特征是“社区学校?”显示为代表其水平的绿蓝色“经济需求指数”和“学校收入估计”分别适用于两个KDeplot。在
使用下面显示的代码创建的图像是我能得到的最好的结果,但是它有问题。在
1)第二个绘图的y轴刻度错误(它应该像第一个绘图一样是一些整数刻度)更正:kdeplot
是赋范的(所有的加起来都是1),所以y轴在给定x值的情况下是正确的。在
2)一个额外的轴(?)在这两块地下面
3)我想为每个子批次添加一个标题
我发现kdeplot
不支持hue
,所以我试图让它与{
fig, (ax1, ax2) = plt.subplots(1, 2)
fig.subplots_adjust(wspace=.8)
fg = sns.FacetGrid(df, hue='Community School?', size=3)
fg.map(sns.kdeplot, 'Economic Need Index', shade=True, ax=ax1, label='Economic Need Index')
fg.map(sns.kdeplot, 'School Income Estimate', shade=True, ax=ax2, label='School Income Estimate')
plt.show()
^{pr2}$
可以找到完整的数据集here。在
您将获得额外的图形,因为FacetGrid在调用时会自动打开自己的窗口。有关详细信息,请参阅此question的答案。因此,这里有一个更简单的方法。我添加了两个可选行,用每种类型的学校的平均数代替NaNs。在
考虑将您的数据框架融合为一个值列和一个指标列,分别用于经济需求指标和学校收入估计值。然后,在不使用matplotlib的
subplots()
调用的情况下绘图,只使用seaborn的FacetGrid
调用,并对默认绘图属性进行调整:相关问题 更多 >
编程相关推荐