我正在繪製天氣數據的CSV文件,並且我在代碼中導入了它,但我試圖繪製它。下面是CSV數據的樣本:繪製來自Numpy陣列問題的日期
12:00am,171,6,7,52,76,77.1,63.7,28.74,0.00,0.00,0.0,0,63.7,78.1,67.4,56.0,29.96
12:01am,192,4,6,52,76,77.1,63.7,28.74,0.00,0.00,0.0,0,63.7,78.1,67.4,56.0,29.96
12:02am,197,3,6,52,76,77.1,63.7,28.74,0.00,0.00,0.0,0,63.7,78.1,67.4,56.0,29.96
12:03am,175,3,6,52,76,77.1,63.7,28.73,0.00,0.00,0.0,0,63.7,78.1,67.4,56.0,29.96
12:04am,194,4,6,52,76,77.1,63.7,28.73,0.00,0.00,0.0,0,63.7,78.1,67.4,56.0,29.96
12:05am,148,5,6,52,76,77.1,63.7,28.73,0.00,0.00,0.0,0,63.7,78.1,67.4,56.0,29.96
無論如何,我想是在X軸上的時間,但我不能讓它使用matplotlib繪製。我嘗試了一種使用xticks的方法,並繪製了我的y值,但就是這樣。它在我的X軸上給了我一條粗實線。
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
from matplotlib.dates import date2num
import datetime as DT
import re
data = np.genfromtxt('FILE.csv', delimiter=',', dtype=None, skip_header=3)
length = len(data)
x = data['f0']
y = data['f7']
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_title("Temperature")
ax1.set_xlabel('Time')
ax1.set_ylabel('Degrees')
#plt.plot_date(x, y)
plt.show()
leg = ax1.legend()
plt.show()
我錯過了幾個關鍵部分,因爲我真的不知道從哪裏去。我檢查了我的numpy數組的數據類型,它一直說numpy.ndarray,我找不到一種方法將其轉換爲字符串或int值來繪圖。這是一個24小時的CSV文件,我希望每30分鐘左右打勾號。有任何想法嗎?
[這個問題](http://stackoverflow.com/questions/ 1574088/plotting-time-in-python-with-matplotlib)是可能相關的。 –
試過了,但我得到了一堆錯誤,它從不繪製或輸出數據。我試過這個:http://stackoverflow.com/questions/6974847/plot-with-non-numerical-data-on-x-axis-for-ex-dates,我在x軸上只有一條黑色的實線,可能是因爲有600個刻度線。我將如何改變這一點? – user2551677
我已經成功地給了plt.plot()一個x座標的日期時間對象列表,然後是y值的浮動列表。我不確定從一個numpy數組中得到什麼方便的方法,或者如何真正控制刻度標記,但這至少可以給你一個圖表。 – seaotternerd