[英]using matplotlib to plot a bar char with time data in x-axis
我有一个带有2列的DataFrame,一个是字符串格式的一系列时间日期,另一个是一些值。 我想将此数据框绘制成条形图
这是我的代码:
import matplotlib.pyplot as plt
import pandas
df = pandas.DataFrame({'a':['090000','093000','100000','103000'],'b':[2,3,4,5]})
df['a']=pandas.to_datetime(df['a'],format='%H%M%S')
fig = plt.figure()
ax1=fig.add_subplot(111)
ax1.bar(df['a'],df['b'])
但是我发现了这个错误:
TypeError: float() argument must be a string or a number, not 'Timestamp'
我怎么解决这个问题?? 谢谢
将matplotlib从1.4.3版本升级到1.5.1时,在python 2.7上我遇到了类似的问题
回去错误消失了。
我遇到了同样的问题(matplotlib 1.5.1)。 就我而言,我可以通过将日期变量设置为索引来解决它,然后针对数据框索引绘制条形图。 即在上面的代码中,在绘制之前,需要添加
df.set_index('a', inplace=True)
然后用
ax1.bar(df.index, df['b'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.