【发布时间】:2018-07-10 06:27:51
【问题描述】:
我有一个 pandas 数据框 df,它有一个列,我用这种方式为 matplotlib 创建一个颜色代码列
df['color-code'] = np.where(df['Community School?']=='Yes', 'blue', 'red')
我还创建了一个单独的数据框,以便在不使用空值的情况下进行绘图
sc_income = df[~df['Economic Need Index'].isnull() & ~df['School Income Estimate'].isnull()]
然后我用它来绘制它
#make plot bigger
plt.rcParams['figure.figsize'] = (40,20)
#plot Economic Need Index vs School Income Estimate
scatter(sc_income['Economic Need Index'], sc_income['School Income Estimate'], c=sc_income['color-code'])
plt.xlabel('Economic Need')
plt.ylabel('School Income $')
plt.title('Economic Need vs. School Income')
plt.legend()
plt.show()
最终的情节是这样的
需要的图例应该指定蓝色表示社区学校,红色表示不是社区学校。
【问题讨论】:
-
不是 MCVE,所以不太清楚,建议什么。 But you can create custom legends,尽管在您的情况下,this approach 可能就足够了。
标签: python pandas matplotlib