You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改双Y轴图表中X轴日期标签的旋转角度?

解决双Y轴图表X轴日期标签旋转问题

没问题!在双Y轴图表里调整X轴日期标签的旋转角度其实很简单——因为双Y轴共享同一个X轴,直接操作主坐标轴(也就是你代码里的ax1)的X轴参数就可以了。另外我还帮你修正了代码里的两个小问题,避免图表显示异常:

修改后的完整代码

import matplotlib.pyplot as plt

# 修复重复创建figure的问题,避免轴关联错误
fig, ax1 = plt.subplots(figsize=(8,6))
t = df['date']
s1 = df['msft']

ax1.plot(t, s1, 'b-')
ax1.set_xlabel('Dates')
ax1.legend(['msft'], loc=0)
ax1.grid()

# 设置左侧Y轴样式
ax1.set_ylabel('Price', color='b')
ax1.tick_params(axis='y', colors='b')

# 添加右侧Y轴
ax2 = ax1.twinx()
s2 = df['amzn']
ax2.plot(t, s2, 'r-')
ax2.set_ylabel('amzn', color='r')
# 修正tick_params的参数,ax2的tick应该针对y轴,不是'date'
ax2.tick_params(axis='y', colors='r')
ax2.legend(['amzn'], loc=1)

# 关键:旋转X轴日期标签,直接操作ax1的x轴
ax1.tick_params(axis='x', rotation=45, ha='right')  # ha='right'让标签右对齐,更美观

fig.tight_layout()
plt.show()

关键改动说明

  • 移除了重复的fig = plt.figure(figsize=(8,6)),因为plt.subplots()已经创建了figure对象,重复创建会导致后续的轴关联失效
  • 添加了ax1.tick_params(axis='x', rotation=45, ha='right'):这行代码专门针对X轴的刻度标签设置旋转角度(这里设为45度),ha='right'让标签右对齐,避免重叠
  • 修正了ax2.tick_params('date', colors='r')的错误参数,改为axis='y',因为ax2是右侧Y轴,我们要设置的是它的Y轴刻度颜色

如果需要调整其他X轴标签样式(比如字体大小),也可以在tick_params里添加labelsize参数,比如:

ax1.tick_params(axis='x', rotation=45, ha='right', labelsize=10)

内容的提问来源于stack exchange,提问作者Ann Kriebel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:11:58