簡體   English   中英

如何使用Python在單個圖形上繪制多種數據?

[英]How can I plot multiple kind of data on a single graph with Python?

我知道這可能是一個新手問題,但是我被迫在沒有適當背景知識的情況下通過Python學習數據分析(我10年前嘗試過vb.net,僅此而已),我需要非常快速地解決問題。

我被要求從這樣的數據集開始繪制一段時間內車輛速度的圖表:

ID      CITY   SPEED          TIME
0       Milan   45   25/05/2018 17:35:30
1       Milan   60   25/05/2018 17:35:45
2       Milan   80   25/05/2018 17:36:00
....
2000    Rome    0    25/05/2018 21:05:15
2001    Rome    0    25/05/2018 21:05:30
2002    Rome    0    25/05/2018 21:05:45

我需要分析的每個數據集平均有3000/4000行,並且包含我不需要的列。

現在,我能夠從文件Excel導入數據集,我創建了3個對象,這些數據取自我需要的列:

speed = Dataset[['speed']]
time = Dataset[['time']]
city = Dataset[['city']]

我需要繪制一個圖形,該圖形具有要作為可視化主要數據的速度,然后是時間(在x軸上)。 當速度為0時,我還需要顯示城市。

我知道如何繪制速度曲線圖,但是我不知道該怎么做才能在需要的地方獲得時間和城市。

它應該是這樣的: 我需要獲取的圖形

真的很感謝任何幫助,因為我不知道該怎么做才能達到這個結果。

提前致謝!

首先,我假設您的時間數據僅是字符串格式? 然后,您應該將其轉換為日期時間格式,例如:

Dataset['time'] = pd.to_datetime(Dataset['time'])

完成此操作后,您可以隨時間顯式繪制速度數據,例如:

plt.plot(Dataset['time'], Dataset['speed'])

然后,我要遍歷

Dataset[Dataset['speed']==0]

並調用plt.annotate()

究竟要迭代的數據子集完全取決於您的零速度數據:看起來有一個接一個的多個條目,因此您應該首先進行過濾(也許通過一些Dataset.groupby過濾),並可能只選擇每個組的first()條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM