如何在matplotlib中绘制多条条形图,当我多次尝试调用bar函数时,它们会重叠,如下图所示,红色的最高值只能看到。 如何在x轴上绘制带有日期的多个条形图?
到目前为止,我试过:
import matplotlib.pyplot as plt
import datetime
x = [
datetime.datetime(2011, 1, 4, 0, 0),
datetime.datetime(2011, 1, 5, 0, 0),
datetime.datetime(2011, 1, 6, 0, 0)
]
y = [4, 9, 2]
z = [1, 2, 3]
k = [11, 12, 13]
ax = plt.subplot(111)
ax.bar(x, y, width=0.5, color='b', align='center')
ax.bar(x, z, width=0.5, color='g', align='center')
ax.bar(x, k, width=0.5, color='r', align='center')
ax.xaxis_date()
plt.show()
我明白了:
结果应该是类似的,但日期在x轴上,条形图彼此相邻:
我不知道“y值也重叠”是什么意思,下面的代码能解决你的问题吗?
使用日期作为x值的问题是,如果您想要第二张图片中那样的条形图,它们将是错误的。您应该使用堆叠条形图(颜色相互重叠)或按日期分组(x轴上的“假”日期,基本上只是将数据点分组)。
我知道这是关于
matplotlib
,但是使用pandas
和seaborn
可以节省很多时间:相关问题 更多 >
编程相关推荐