pandas 海运对象图中X轴的离散日期值

wwwo4jvm  于 2023-03-11  发布在  其他
关注(0)|答案(1)|浏览(98)

我正尝试使用seaborn.objects准备一个时间序列数据的条形图,其中x轴刻度和标签仅显示在数据中真正出现的日期上。

import pandas as pd
import seaborn.objects as so
df1 = pd.DataFrame({'date': pd.to_datetime(['2022-01-01', '2022-02-01']), 'val': [10,20,]})
so.Plot(df1, x='date', y='val').add(so.Bar())

结果如下图所示,在2022-01-15处有一个勾号。转到 Dataframe 中的三个条目可以解决这个问题,但在本例中我将如何操作。
添加.scale(x=so.Nominal()).scale(x=so.Temporal())没有帮助。
作为奖励,我将如何格式化x轴刻度为“2022年1月”,“2022年2月”等?

xzabzqsa

xzabzqsa1#

您可以将date列转换为字符串:

(so.Plot(df1.assign(date=df1['date'].dt.strftime('%b %Y')), x='date', y='val')
   .add(so.Bar()).show())

# Or, as suggested by @mwaskom:
so.Plot(x=df1['date'].dt.strftime('%b %Y'), y=df1['val']).add(so.Bar()).show()

输出:

相关问题