我目前正在使用 Seaborn 和 Pandas 可视化数据集。我有一些与时间相关的数据,我想在条形图中绘制图表。
但是,我正在与 Seaborn 中的两个问题作斗争:
在 x 轴上格式化日期
只显示少数日期(因为在 6 个月的图表上标记每一天是没有意义的)
我在普通的 Matplotlib 中找到了解决我的问题的方法,即:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = 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 pd
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = 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 轴日期?
提前致谢。
翻翻过去那场雪
相关分类