0
我有一個CSV文件,其中包含一些數據,我需要創建一個線圖,顯示CSV文件中每個日期和時間範圍沿着時間線的臨時變化以及temp每個記錄。Python繪圖數據更好地perspicitve
from matplotlib import pyplot, dates
from csv import reader
from dateutil import parser
with open("C:\\Users\\Username\\Desktop\\temdata.csv","r") as f:
data = list(reader(f))
temp = [i[3] for i in data]
time = [parser.parse(i[1]) for i in data]
pyplot.title('Temperature changes over Time')
pyplot.xlabel('Time/hours')
pyplot.ylabel('Temperature')
pyplot.plot(time, temp)
pyplot.show()
我得到這個可怕的縮放圖形不把數據放到角度來看它似乎更有意義,而不僅僅是如果在當溫度確實增加了次巨大漲幅。
我能夠在文件中放置一個虛擬記錄,使其認爲臨時溫度達到了300點,使其看起來好一點。
是否有任何方法對於Python初學者來說很簡單,並使用Python繪製數據來利用不同的方式縮放數據而不創建虛擬數據?
是否還有更強大的功能可以用於繪製和用Python繪圖以顯示一段時間內的溫度?
馬丁 - 謝謝你這些想法,非常好的信息。 #1並不是我所需要的,但它的尺寸看起來更好。我無法獲得#2的語法,所以我這麼做......'temp = [i [3] for i in data]''然後在下面我有'temp = [min(t,120)for t in temp]'並且它給了我這個錯誤'TypeError:unorderable types:int()
SlickNutz
試試這個:'temp = [min(i [3],120)for i in data]' –
Martin - 我收到了同樣的錯誤,但是我想給你一個鏈接,以便你能夠抓住這個測試樣本數據,然後通過Python在您的身邊運行它,並使用我用來查看錯誤的實際數據。也許這會更好,所以你可以運行它。這裏是鏈接:https://justpaste.it/10oc4。我只是在我的問題和#2解決方案語法和變體中使用語法。如果你有時間,請告訴我,如果你知道問題可能是什麼。謝謝!! – SlickNutz