我有三列。但我有興趣繪制相對于彼此的兩列。列的資料型別是日期時間和物件。日期時間列名為 started_at,物件列名為member_casual。我希望x 軸上的started_at (每小時)和 y 軸上的member_causal(計數)。我使用此代碼
my DaraFrame(df) looks like this
rideable_type started_at member_casual
electric_bike 2021-06-13 14:31:28 casual
classic_bike 2021-06-04 11:18:02 member
classic_bike 2021-06-04 09:49:35 casual
calssic_bike 2021-06-04 09:55:34 casual
electric_bike 2021-06-04 14:05:51 casual
classic_bike 2021-06-04 14:09:59 member
electric_bike 2021-06-03 19:32:01 casual
electric_bike 2021-06-10 16:30:10 member
... ... ...
... ... ...
這段代碼給了我計算 member_casual(y 軸)相對于每小時時間(x 軸)的線圖。
pd.crosstab(df.started_at.dt.hour,df.member_casual).plot(kind='line', ax = ax)
誰能告訴我如何使用 seaborn 或 matplotlib 繪制相同的圖?
我是初學者,所以這是我能做的最好的。
嘗試_1
plt.plot(df.started_at.dt.hour, df.member_casual)
嘗試_2
sns.lineplot(df.started_at.dt.hour, hue = df.member_casual)
當然,這兩行代碼都給了我一個錯誤。
uj5u.com熱心網友回復:
您首先需要計算每小時的發生次數,例如與您已經做的相同的方式:
ct = pd.crosstab(df.started_at.dt.hour, df.member_casual)
matplotlib 一步一步:
plt.plot(ct.index, ct.casual, label='casual')
plt.plot(ct.index, ct.member, label='member')
plt.legend()
matplotlib 簡寫形式:
plt.plot(ct)
plt.legend(ct.columns)
海運:
sns.lineplot(data=ct)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/495136.html
標籤:Python matplotlib 海运 交叉表
上一篇:如何為熊貓圖分組著色
下一篇:C++虛函式表、多型
