3

可能重复:
如何使用 matplotlib 在 x 轴上
绘制非数字数据与 x 轴上特定日期的数据(例如,日期)

我试图在 matplotlib 中生成一个条形图,其中 x 轴和 y 轴值是(日期、整数)的元组。数据具有以下形式:

data = [('2012-02-26', 17), ('2012-03-07', 16), ('2012-06-30', 16), 
        ('2012-03-16', 15), ('2012-06-24', 15), ('2012-05-13', 14), 
        ('2012-03-19', 12), ('2012-02-18', 9), ('2012-04-07', 9), 
        ('2012-04-09', 8)]

如果我简单地使用整数作为 x 值,我可以生成一个简单的条形图:

import scipy as sp
from matplotlib import pyplot as pl
x = sp.arange(100)
y = sp.random.randint(1,100, 100)
fig = figure()
pl.bar(x,y)

在此处输入图像描述

如何在 x 轴上绘制带有字符串日期的类似条形图?理想情况下,我还希望将 x 轴标签显示为日期。我在matplotlib recipe page上找到了一个类似的示例,但我无法让它与我的示例一起使用。谢谢您的帮助。

4

2 回答 2

1

使用 plot_date 函数代替 plot()。

plot_date

于 2012-08-10T13:46:00.353 回答
0

我用了

ax.xaxis.set_major_formatter(dates.DateFormatter('%d/%m'))
于 2012-08-10T12:56:09.740 回答