1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
from pandas import Timestamp
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame(
? ? ? ? ? ? ? ? ?{'date':
? ? ? ? ? ? ? ? ? ? ? ? ?{0: Timestamp('2019-10-31 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 1: Timestamp('2019-11-30 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 2: Timestamp('2019-12-31 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 3: Timestamp('2020-01-31 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 4: Timestamp('2020-02-29 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 5: Timestamp('2020-03-31 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 6: Timestamp('2020-04-30 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 7: Timestamp('2020-05-31 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 8: Timestamp('2020-06-30 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 9: Timestamp('2020-07-31 00:00:00'),
? ? ? ? ? ? ? ? ? ? ? ? ? 10: Timestamp('2020-08-31 00:00:00')},
? ? ? ? ? ? ? ? ?'rate':
? ? ? ? ? ? ? ? ? ? ? ? ?{0: 100.0,
? ? ? ? ? ? ? ? ? ? ? ? ? 1: 99.04595078851037,
? ? ? ? ? ? ? ? ? ? ? ? ? 2: 101.09797599729458,
? ? ? ? ? ? ? ? ? ? ? ? ? 3: 102.29581878702609,
? ? ? ? ? ? ? ? ? ? ? ? ? 4: 104.72409825791058,
? ? ? ? ? ? ? ? ? ? ? ? ? 5: 109.45297539163114,
? ? ? ? ? ? ? ? ? ? ? ? ? 6: 118.24943699089361,
? ? ? ? ? ? ? ? ? ? ? ? ? 7: 119.65432196709045,
? ? ? ? ? ? ? ? ? ? ? ? ? 8: 117.82108184647535,
? ? ? ? ? ? ? ? ? ? ? ? ? 9: 118.6223497519237,
? ? ? ? ? ? ? ? ? ? ? ? ? 10: 120.32838345607335}})
df['datelabel'] = df['date'].apply(lambda x: x.strftime('%b %d'))
chart = sns.lineplot('date', 'rate', data=df,marker="o")
chart.set_xticklabels(df.datelabel, rotation=45)
plt.show()
這是一種方法:構(gòu)建一個(gè) lambda 函數(shù),將 strftime 與我們的目標(biāo)表示應(yīng)用于日期中的每條記錄。
%b - 月份作為區(qū)域設(shè)置的縮寫名稱。
%d - 月份中的第幾天,以零填充的十進(jìn)制數(shù)字。
我們可以將其保存為一組參考標(biāo)簽,通過 xticklabels 應(yīng)用于圖表。
此外,您可以使用旋轉(zhuǎn)參數(shù)旋轉(zhuǎn)標(biāo)簽。
添加回答
舉報(bào)