0

所以我刚刚安装了 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 真的很低。我在这里得到了我想要的:

在此处输入图像描述

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

4

0 回答 0