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

如何调整使用secondary_y的pandas双Y轴绘图的刻度与标签大小

解决方法

使用secondary_y=True创建的右侧Y轴是独立的坐标轴实例,你当前只配置了左侧Y轴ax1的刻度样式,只要拿到右侧Y轴的实例再做一次配置即可。

你可以在调用第二遍df.plot时直接接收返回的右侧坐标轴对象:

import pandas as pd
import numpy as np

# 示例数据构造
sample_length = range(1, 2+1)
rads = np.arange(0, 2*np.pi, 0.01)
data = np.array([np.sin(t*rads) for t in sample_length])
df = pd.DataFrame(data.T, index=pd.Series(rads.tolist(), name='radians'), columns=[f'freq: {i}x' for i in sample_length])

# 绘图代码
ax1 = df.plot(y='freq: 1x', ylabel='left-Y', figsize=(8, 5))
# 接收返回的右侧Y轴对象ax2
ax2 = df.plot(y='freq: 2x', secondary_y=True, ax=ax1)

ax1.tick_params(axis='both', labelsize=20)
# 给右侧Y轴也设置刻度字体大小
ax2.tick_params(axis='y', labelsize=20)

也可以通过ax1自带的right_ax属性直接获取右侧坐标轴,不需要额外接收返回值:

ax1 = df.plot(y='freq: 1x', ylabel='left-Y', figsize=(8, 5))
df.plot(y='freq: 2x', secondary_y=True, ax=ax1)

ax1.tick_params(axis='both', labelsize=20)
ax1.right_ax.tick_params(axis='y', labelsize=20)

两种写法都可以实现左右双Y轴刻度字体大小同步调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:15:04