在条形图中,我需要将xticks
设置为小时格式,如下所示:
6:00, 7:00, 8:00......
我用来制作图表的数据来自MySQL
数据库,我在数据库表中使用了TimeStamp
。现在xticks
是这样的:
6, 7, 8......
我不知道如何以我想要的方式改变它。
`query = """select HOUR(TimeStamp) AS Hour, SUM(Pac/12) As Pac FROM SolarData WHERE `TimeStamp` >= CURDATE() AND `TimeStamp` < CURDATE()+1 GROUP BY HOUR(TimeStamp);""";`
添加:TimeStamp
不会每天在同一时间创建。如果x-axis
可以标记为以下图片,我更愿意这样做:
但是,如果我这样做x-axis
,考虑到我查询的方式,可能存在潜在问题:HOUR(TimeStamp)
是INT
数据类型和{{1}在图像中标有x-axis
数据类型......只要我理解。
我尝试了下面的这个查询,但我仍然没有解决数据类型冲突问题。我没有设置STRING
,而是尝试重新格式化xticks
,使其成为:{/ p>
TimeStamp
而不是:
6:00,7:00,8:00,9:00...
6,7,8,9....
会使'%H:%00'
无法使用底部的TimeStamp
命令...
plt.bar()
答案 0 :(得分:0)
您需要使用方法xticks
,请参阅matplotlib文档中的此示例。
http://matplotlib.org/examples/pylab_examples/barchart_demo2.html
答案 1 :(得分:0)
您还可以使用优秀的Pandas Python Data Analysis Library根据查询的输出创建时间序列对象数组。看看包含大量good examples的Pandas网站。特别是look here,了解如何使用pandas和matplotlib来控制x轴的外观。