matplotlib x轴标签

img

请教各位,本人刚学matplotlib,图片中x轴的效果,我需要怎么写代码才能显示这样的效果啊

用matplotlib的dates模块来处理日期时间,使用set_major_locator和set_major_formatter来设置x轴的刻度和标签。

给你个代码段试试

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
import numpy as np

# 创建一个日期范围
date_rng = pd.date_range(start='2022-02-27', end='2022-03-31', freq='D')

# 生成一些随机数据
data = np.random.randint(1, 100, size=(len(date_rng)))

# 创建一个DataFrame
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = data

# 绘制图形
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(df['date'], df['data'])

# 设置x轴的主要刻度定位器为每7天
ax.xaxis.set_major_locator(mdates.DayLocator(interval=7))

# 设置x轴的主要刻度格式化器为日期
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d'))

# 添加月份标签
for i in range(len(df['date'])):
    if df['date'][i].day == 1:
        ax.text(df['date'][i] - pd.DateOffset(days=2), 0, df['date'][i].strftime('%b'), ha='center', va='top', fontsize=10, color='blue')

# 设置x轴的标签
plt.xlabel('Date')
plt.ylabel('Data')
plt.title('Example Plot')

# 显示图形
plt.show()


如果有帮助,请点击一下采纳该答案~谢谢