为了账号安全,请及时绑定邮箱和手机立即绑定

Seaborn Barplot 和 X 轴上的格式化日期

Seaborn Barplot 和 X 轴上的格式化日期

守着一只汪 2022-03-09 20:53:33
我目前正在使用 Seaborn 和 Pandas 可视化数据集。我有一些与时间相关的数据,我想在条形图中绘制图表。但是,我正在与 Seaborn 中的两个问题作斗争:在 x 轴上格式化日期只显示少数日期(因为在 6 个月的图表上标记每一天是没有意义的)我在普通的 Matplotlib 中找到了解决我的问题的方法,即:import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltimport matplotlib.dates as mdatesdates = pandas.date_range('1/1/2014', periods=20, freq='m')df = pandas.DataFrame(    data={'dt':dates, 'val':numpy.random.randn(N)})fig, ax = plt.subplots(figsize=(10, 6))ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))ax.bar(df['dt'], df['val'], width=25, align='center')但是,我已经在 Seaborn 中完成了大部分图表,我希望保持一致。一旦我将之前的代码转换为 Seaborn,我就无法格式化日期:import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltimport matplotlib.dates as mdatesdates = pandas.date_range('1/1/2014', periods=20, freq='m')df = pandas.DataFrame(    data={'dt':dates, 'val':numpy.random.randn(N)})fig, ax = plt.subplots(1,1)ax.xaxis.set_major_formatter(mdates.DateFormatter('%y-%m'))sns.barplot(x='dt', y='val', data=df)fig.autofmt_xdate()当我运行代码时,日期格式保持不变,我无法使用 DateLocator 找到任何日期。有什么方法可以让我在 Seaborn 中以类似于 Matplotlib 和 DateLocator 和 DateFormatter 的方式格式化我的 X 轴日期?提前致谢。
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

不,您不能seaborn.barplotmatplotlib.dates打勾结合使用。原因是 seaborn 条形图的刻度位于整数位置 (0,1,..., N-1)。所以它们不能被解释为日期。

你有两个选择:

  1. 使用 seaborn,遍历标签并将它们设置为您想要的任何内容

  2. 不使用 seaborn 并具有matplotlib.dates可用的股票代码的优点(和缺点)。


查看完整回答
反对 回复 2022-03-09
  • 1 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号