我知道 plot_date()
,但有 bar_date()
吗?
一般的方法是使用 set_xticks
和 set_xticklabels
,但我想要一些可以处理从几个小时到几年的时间尺度的东西(这个意味着涉及主要和次要刻度以使我认为内容可读)。
编辑:我意识到我正在绘制与特定时间间隔(条形跨越)相关的值。我在下面更新了我使用的基本解决方案:
import matplotlib.pyplot as plt
import datetime
t=[datetime.datetime(2010, 12, 2, 22, 0),datetime.datetime(2010, 12, 2, 23, 0), datetime.datetime(2010, 12, 10, 0, 0),datetime.datetime(2010, 12, 10, 6, 0)]
y=[4,6,9,3]
interval=1.0/24.0 #1hr intervals, but maplotlib dates have base of 1 day
ax = plt.subplot(111)
ax.bar(t, y, width=interval)
ax.xaxis_date()
plt.show()
最佳答案
全部 plot_date
所做的是绘制函数和调用 ax.xaxis_date()
.
您只需要这样做:
import numpy as np
import matplotlib.pyplot as plt
import datetime
x = [datetime.datetime(2010, 12, 1, 10, 0),
datetime.datetime(2011, 1, 4, 9, 0),
datetime.datetime(2011, 5, 5, 9, 0)]
y = [4, 9, 2]
ax = plt.subplot(111)
ax.bar(x, y, width=10)
ax.xaxis_date()
plt.show()
关于python - 带日期的 matplotlib 条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902371/