是否可以使用简单的记号创建时间值的matplotlib条形图?

时间:2018-10-05 06:41:50

标签: matplotlib

DataFrame ['2002':'2005'] [['Value1','Value2']]。bar(任何参数吗?)是否可能是创建Dataframe条形图的方法,其中2个值分布在一个时间长了。 我可以创建一个简单的图,但是我想要柱形图(1条柱形-1天)。 如果没有这种简单的方法,最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

嗯,不是自我编码,但是无论如何,都是可以的,所以它可以工作...(感谢这里的guys ...)

假设您有一个类似的数据框

df.head()
            temperature     pressure
2018-10-01    21.860016  1031.418143
2018-10-02    20.590761  1063.008550
2018-10-03    21.356381  1047.183300
2018-10-04    20.393329  1037.710172
2018-10-05    20.716377  1027.680324 
...           ...        ...

然后您需要导入

import matplotlib.pyplot as plt
import matplotlib.dates as md

那样绘制数据
fig, ax = plt.subplots()
ax.xaxis_date()

ax.bar(df.index -md.num2timedelta(.2), df.temperature, .4, color='r', label = df.temperature.name)
ax2 = ax.twinx()
ax2.bar(df.index  +md.num2timedelta(.2), df.pressure, .4, color='b', label = df.pressure.name)

ax.xaxis.set_major_formatter(md.DateFormatter('%b %d'))
ax.xaxis.set_major_locator(md.WeekdayLocator())

fig.legend()

结果:

enter image description here