我无法正确排列数据。我有每个x值的3个图,但目前他们都在密谋自己。我似乎找不到让它们在轴上移动的方法,以便它们彼此相邻。
这就是它的出现方式,而我希望它能像这样出现:
不要担心我刚刚添加的颜色。我看过其他人的例子,但似乎没有帮助。
他是我用来生成此图表的代码:
In[15]: for i in df_Entry.columns.levels[0]:
plt.figure()
barwidth = 0.2
df_Entry[i]['mean'].plot(kind='bar', yerr=df_Entry[i]['std'])
df_Apex[i]['mean'].plot(kind='bar', yerr=df_Apex[i]['std'])
df_Exit[i]['mean'].plot(kind='bar', yerr=df_Exit[i]['std'])
感谢您的帮助。
答案 0 :(得分:2)
试试这个:
import numpy as np
b1 = np.array([1,2,3])
b2 = np.array([3,2,1])
x = np.array([1.0, 2.0, 3.0])
plt.bar(left=x-0.3, width=0.3, height=b1)
plt.bar(left=x, width=0.3, height=b2, color='g')
plt.bar()
命令可让您指定条形左侧的位置,因此您可以将其移动给定的数量。这里的一个缺点是x轴是浮点轴,你可能不想要它。
虽然它不是来自我,但也有解决方案: http://people.duke.edu/~ccc14/pcfb/numpympl/MatplotlibBarPlots.html
这使用pyplot的面向对象的界面(这让一些人感到困惑,但实际上非常酷),在事后更改标签和轴限制。