我有以下数据框,显示与每种颜色帽子相关的美元成本:
Hat Dollars
----------------------
0 Blue 33
1 Green 42
2 Red 54
因此,蓝帽子的价格为 33 美元,绿帽子的价格为 42 美元,红帽子的价格为 54 美元。
我可以使用这个简单的代码将其绘制为条形图seaborn
:
dataplot = sns.barplot(x = 'Hat',
y = 'Dollars',
data = df,hue='Hat')
plt.gca().set_xticklabels([])
plt.ylabel("Dollars", fontsize=15)
plt.xlabel("Hat", fontsize=0)
plt.legend(title="Hat Costs")
现在,假设由于通货膨胀,明年帽子的价格上涨,因此下一年的帽子成本在此数据框中表示:
Hat Dollar
---------------------
0 Blue 33
1 Green 42
2 Red 54
我想要做的是获取第一个显示帽子成本的条形图,然后将新年的帽子成本插入第一个图表中,这样仍然只有三个条形,每种颜色一个,但新的金额显示为扩展原始条形的颜色,向上或向下,但用相同颜色标记的新区域褪色,或者如果不可行,则填充微弱的对角线。如何修改原始条形图的代码,以合并要显示在原始条形图上的每个原始条形图的新值?
最好的解决方案是使用
matplotlib
,它有一个名为“hatch”的功能,您可以使用它来根据自己的喜好自定义绘图。选项1:
如果通货膨胀全部为正值或全部为负值,则这是最好的,就像“绿”帽的情况一样,阴影可能会产生误导
选项2:
使用浅绿色或浅红色来表示价格的上涨或下跌:
选项 3:
如果你确实需要在这里使用seaborn,你可以探索seaborn.objects中的stack类