【发布时间】:2013-10-24 23:49:15
【问题描述】:
我希望用 matplotlib 绘制一个熊猫时间序列对象data。对于简单的折线图data.plot(),我能够使用ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d %H:%M:%S')) 成功更改x 轴日期格式。
但是,我无法对条形图 data.plot(kind='bar') 执行相同操作。并且图表不会出现。有没有办法更改熊猫条形图的数据格式?我知道我可以使用 plt.bar 方法创建图表,但是对于更复杂的数据,我需要使用 pandas 堆积条形图。
import matplotlib.pyplot as plt
import matplotlib.dates as md
import numpy as np
import pandas as pd
import datetime as dt
import time
n=20
duration=1000
now=time.mktime(time.localtime())
timestamps=np.linspace(now,now+duration,n)
dates=[dt.datetime.fromtimestamp(ts) for ts in timestamps]
values=np.sin((timestamps-now)/duration*2*np.pi)
data=pd.Series(values, index=dates)
fig=figure(figsize(5,5))
ax=fig.add_subplot(111)
data.plot(kind='bar')
ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d %H:%M:%S'))
【问题讨论】:
标签: matplotlib pandas