所以我刚刚安装了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真正低。我得到了我想要的东西:
无论如何,我想要的是简单地将刻度标记格式化为日期(例如月,年)。我在这个问题上进行了大量搜索并发现了一个类似的问题here,但我无法对其进行调整或理解如何将其应用到我的脚本中。对于这么简单的事情,似乎过于复杂了?