此问题已在此处有答案:
Grouped seaborn.barplot from a wide pandas.DataFrame(1个答案)
3小时前关闭
我是数据可视化的新手。我正在练习Seaborn,我正在尝试使用此dataframe绘制条形图。我希望图表在每个符号上有3个条形图,但是,输出在每个符号上只有1个条形图。我可以知道如何修复它吗?
DataFrame的一部分...
returns_7d returns_30d returns_ytd
symbol
TDOC -0.210839 -17.712095 -3.922423
EXAS -4.649067 -6.439275 -1.415680
PACB -2.953760 11.886232 37.815711
REGN 0.465364 5.803325 -0.629814
TWST 6.707956 3.619967 10.4043
代码如下:
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
# Change the style of the figure to the "dark" theme
sns.set_style("darkgrid")
plt.figure(figsize=(12,6))
plt.title('YTD Returns')
sns.barplot(x=returns_all.index,y=returns_all['returns_7d'],color='b',edgecolor='w',label='returns_7d')
sns.barplot(x=returns_all.index,y=returns_all['returns_30d'],color='r',edgecolor='w',label='returns_30d')
sns.barplot(x=returns_all.index,y=returns_all['returns_ytd'],color='g',edgecolor='w',label='returns_ytd')
plt.xlabel('symbol', fontsize=11)
plt.ylabel('%', fontsize=11)
plt.xticks(rotation = 90)
plt.legend()
plt.show()
输出如下:
2条答案
按热度按时间6fe3ivhb1#
要使用seaborn创建这样的图,请注意seaborn更喜欢“长格式”的数据。
reset_index
将索引转换为常规列,melt
将列转换为<variable, value>
对。长 Dataframe 看起来像:
deyfvvtc2#
我认为pandas.DataFrame.plot()是你所需要的。