【问题标题】:How do I clean up the x axis?如何清理 x 轴?
【发布时间】:2021-01-07 04:43:45
【问题描述】:

我已经尝试过plt.gcf().autofmt_xdate(),但这并不能修复 x 轴上的重叠日期。如何将 x 轴清理为每周而不是每天?

# Convert string column into date
df['date'] = pd.to_datetime(df['date'], format = "%Y-%m-%d")

plt.figure(figsize=(14,10))
plt.title("Daily Tests")
plt.ylabel("Number of confirmed cases")
plt.xlabel("Date")
sns.barplot(x=df['date'], y=df['confirmed'])
plt.show()

图表:

任何建议将不胜感激。

【问题讨论】:

  • x 轴的日级别非常困难。所以最好尝试月份级别,否则plt.xticks(rotation=70) 将旋转 x 轴标签
  • 你可能是对的,我也认为每个月都贴标签会更好,你知道我该怎么做吗?

标签: python pandas bar-chart seaborn


【解决方案1】:

设置mdates.DayLocator(interval=14)的区间,以控制x轴的时序数据。在本例中,设置为两周。

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

fig = plt.figure(figsize=(14,10))
ax = fig.add_subplot(111)

sns.barplot(x=df['date'], y=df['confirmed'], ax=ax)

ax.set_title("Daily Tests")
ax.set_ylabel("Number of confirmed cases")
ax.set_xlabel("Date")

days = mdates.DayLocator(interval=14)
days_fmt = mdates.DateFormatter('%m-%d')
ax.xaxis.set_major_locator(days)
ax.xaxis.set_major_formatter(days_fmt)

plt.show()

【讨论】:

    猜你喜欢
    • 2021-03-26
    • 1970-01-01
    • 2022-01-03
    • 2015-03-21
    • 2017-07-29
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 2011-10-09
    相关资源
    最近更新 更多