簡體   English   中英

Python 中的數據可視化

[英]Data Visualization in Python

假設我有這樣的交通擁堵數據:

交通擁堵數據

如何使用 x = 時間的唯一性,y = 速度來可視化我的數據。 我有多個獨特街道 A、B、C、D 地塊?

如果您有一些關於使用其他參數(如道路類型、警報等)可視化或提供我的數據的建議,我將非常感激。

謝謝!

我可以向你保證這不是很優雅,但我認為它完成了工作。 您將面臨奇異時間值的問題。 向數據添加了起始值,因為奇異值 + 線圖效果不太好。 嘗試使用 scatter 但這只會搞砸標簽。

data = {'street': ['street A','street B','street C','street D','street A', 'street B', 'street C', 'street A', 'street C', 'street D'], 'time': [0,0,0,0,1, 1, 1, 2, 2, 2], 'speed': [0,0,0,0,3.22, 1.2, 2.3, 2.3, 2.1, 1.9], 'jams_level': [0,0,0,0,3, 1, 2, 2, 2, 1]}
df = pd.DataFrame(data,columns = ["street","time","speed","jams_level"])
street = list(df.street.unique()) #I am much more comfortable with lists

subdf = []
for i in street:
    subdf.append(df.loc[df["street"] == i].sort_values(by=["time"])) #Grouping dataframes by street

fig,ax = plt.subplots()

for i in subdf:
    i.plot(x="time",y="speed",ax=ax) #use pandas.plot method

ax.legend(street) #rename legend

這是一種非常 hack and slash 的方法,可能還不夠好。 對 pandas 數據操作不是很好,但希望它能工作。 它所做的基本上是將您的原始數據框拆分為“街道”。 然后在重命名圖例以便更好地閱讀之前,在同一子圖中繪制速度與時間的關系圖。 着色也可以完成,但需要更多的邏輯。 再說一次,我確信那里有一個更簡單的解決方案。 結果圖:

在此處輸入圖像描述

暫無
暫無

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

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