Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python matplotlib集合xticks(小时格式)_Python_Mysql_Matplotlib_Plot_Timestamp - Fatal编程技术网

python matplotlib集合xticks(小时格式)

python matplotlib集合xticks(小时格式),python,mysql,matplotlib,plot,timestamp,Python,Mysql,Matplotlib,Plot,Timestamp,在我的条形图中,我需要将我的xticks设置为如下所示的小时格式: 6:00, 7:00, 8:00...... 我用来制作图表的数据来自一个MySQL数据库,我在数据库表中使用了时间戳。现在XTick是这样的: 6, 7, 8...... 我不知道如何以我想要的方式改变它 `query = """select HOUR(TimeStamp) AS Hour, SUM(Pac/12) As Pac FROM SolarData WHERE `TimeStamp` >= CURDATE(

在我的条形图中,我需要将我的xticks设置为如下所示的小时格式:

6:00, 7:00, 8:00......
我用来制作图表的数据来自一个MySQL数据库,我在数据库表中使用了时间戳。现在XTick是这样的:

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);""";`
而不是:

6,7,8,9....
“%H:%00”将使时间戳无法使用底部的plt.bar命令

`select DATE_FORMAT(TimeStamp, '%H:%00') AS Hour, SUM(Pac/12) As Pac FROM SolarData WHERE `TimeStamp` >= CURDATE()-1 AND `TimeStamp` < CURDATE() GROUP BY HOUR(TimeStamp);`

barchart = plt.bar(TimeStamp, Pac, align='center', width=0.20, color='#FFCC33')

您需要使用xticks方法,有关matplotlib文档中的示例,请参见


您还可以使用优秀的工具根据查询的输出创建timeseries对象的数组。看一看熊猫网站,它包含了大量的信息。特别是,如何使用pandas和matplotlib来控制x轴的外观。

好的,我的问题是,每天的时间戳不是在同一时间创建的,它取决于日出时间,有时是早上5点,有时是早上7点,这种方法似乎对我不起作用,除非它可以自动缩放或其他方式。我查阅了您链接的特定示例。x_compat=True似乎很好,我需要尝试一下这是否适用于我的代码。
`select DATE_FORMAT(TimeStamp, '%H:%00') AS Hour, SUM(Pac/12) As Pac FROM SolarData WHERE `TimeStamp` >= CURDATE()-1 AND `TimeStamp` < CURDATE() GROUP BY HOUR(TimeStamp);`

barchart = plt.bar(TimeStamp, Pac, align='center', width=0.20, color='#FFCC33')