Scatter Plot的XAxis上的日期标签

时间:2013-03-12 19:27:26

标签: matplotlib python-3.3

所以我刚刚安装了Python3.3,Numpy,MySQL Connector和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真正低。我得到了我想要的东西:

enter image description here

无论如何,我想要的是简单地将刻度标记格式化为日期(例如月,年)。我在这个问题上进行了大量搜索并发现了一个类似的问题here,但我无法对其进行调整或理解如何将其应用到我的脚本中。对于这么简单的事情,似乎过于复杂了?

0 个答案:

没有答案