我有需要用sns.lmplot().
資料具有以下結構:
df = pd.DataFrame(columns=['date', 'origin', 'group', 'value'],
data = [['2001-01-01', "Peter", "A", 1.0],
['2011-01-01', "Peter", "A", 1.1],
['2011-01-02', "Peter", "B", 1.2],
['2012-01-03', "Peter", "A", 1.3],
['2012-01-01', "Peter", "B", 1.4],
['2013-01-02', "Peter", "A", 1.5],
['2013-01-03', "Peter", "B", 1.6],
['2021-01-01', "Peter", "A", 1.7]])
我現在想用sns.lmplot()每月平均值繪制資料(我的原始資料比玩具資料更細粒度)并使用hueforgroup列。為此,我按月匯總:
df['date'] = pd.to_datetime(df['date']).dt.strftime('%Y%M').astype(int)
df = df.groupby(['date', 'origin', 'group']).agg(['mean'])
df.columns = ["_".join(pair) for pair in df.columns] # reset col multi-index
df = df.reset_index() # reset index
然后我繪制資料:
sns.lmplot(data=df, x="date", y="value", hue="group",
ci=None, truncate=False, scatter_kws={"s": 1}, lowess=True, height=6, aspect=1.25)
plt.title(f"Title.")
plt.ylabel("Value")
plt.show()
這作業正常,但日期很亂。我希望它們顯示為日期而不是ints。
我發現了
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/336818.html
標籤:Python 约会时间 matplotlib 阴谋 海生
上一篇:HowtoPlotin3DPrincipalComponentAnalysisVisualizations,usingthefastPCAscriptfromthisanswer
