Matplotlib 散点图X轴上的日期标签

Matplotlib 散点图X轴上的日期标签,matplotlib,python-3.3,Matplotlib,Python 3.3,所以我刚刚安装了Python3.3、Numpy、MySQL连接器和Matplotlib。我有一个包含大量数据的表,其中我编写了一个查询,将其输出为类似以下内容: Timestamp(unix) Data(float) 1353000347 90.7000 1353007787 90.7000 1353015227 90.7000 1353000347 89.6899 1353007787 90.7000 1353015227

所以我刚刚安装了Python3.3、Numpy、MySQL连接器和Matplotlib。我有一个包含大量数据的表,其中我编写了一个查询,将其输出为类似以下内容:

Timestamp(unix)  Data(float)
1353000347       90.7000
1353007787       90.7000
1353015227       90.7000
1353000347       89.6899
1353007787       90.7000
1353015227       90.7000
因此,通过大量的尝试和错误,将教程和其他问题拼凑在一起,我最终得到了这个python脚本:

import matplotlib.pyplot as plt
import numpy as np
import mysql.connector

#Open DB Connection
cnx = mysql.connector.connect(host='localhost',database='db',
                              user='user',password='')
#Get Buffered Cursor
curA = cnx.cursor(buffered=True)

curA.execute(
"""
SELECT UNIX_TIMESTAMP(`timestamp`),`data1`
   FROM `data`
"""
)

rows = np.array(curA.fetchall())
cnx.close()

x = rows[:,0]
y = rows[:,1]
plt.scatter(x,y,20,'r','o',None,None,None,None,0.05,0)
plt.show()
我有很多数据点会重叠(相同的坐标),所以我想要alpha真低。我在这里得到了我想要的:


无论如何,我想要的只是将记号标记格式化为日期(例如月、年)。我在这个问题上搜索了很多,发现了一个类似的问题,但我无法调整它,也无法理解如何将它应用到我的脚本中。对于这样一件简单的事情来说似乎太复杂了?

我没有时间写完整的答案,但我建议的基本方法是转换时间戳->
datetime
对象。然后可以直接针对这些对象进行打印。你可能还需要调整一下格式化程序,但这应该可以让你完成80%的工作。另请看
pandas
,它有一大堆花哨的半智能日期格式(但可能有些过分,是另一种蠕虫),事实上,很快我就发现了这一点,我想这给了我所需要的。很好。作为一个样式说明,您应该使用kwags,而不是位置参数来传递参数到
scatter
,例如
scatter(x,y,s=20,color='r',marker='o',alpha=.5)
,这更具可读性和(更多)未来证明。好的,谢谢您的提示