python twiny共享y轴

本文介绍了如何使用twiny()函数创建共享Y轴的子图对象,并解释了如何通过返回的对象来修改图表的上部X轴,同时保持下方X轴不变。通过示例展示了twiny()的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

twiny共享y轴

twinx同理

官方文档-谷歌汉化

在这里插入图片描述

个人理解

twiny()作用:创建并返回一个共享y轴的子图对象
例:
ax2=ax1.twiny() twiny返回一个与ax1共享y轴的子图对象。
这时候就多了一个子图ax2,该子图的x轴位于坐标轴上方,通过ax2对象可以对上方x轴进行修改,但ax2不能修改下方x轴,因为它是属于ax1的
在这里插入图片描述

参考

官方文档
设置双坐标轴(twinx & twiny)

Python中创建具有双X的图表可以让你在同一张图上展示两个不同的数据集,这两个数据集可能有不同的尺度或单位。这通常通过`matplotlib`库完成。 下面是如何利用 `matplotlib` 创建带双 X 图形的一个简单示例: ```python import matplotlib.pyplot as plt # 数据准备 x_data = [0, 1, 2, 3, 4] y_data = [v**2 for v in x_data] fig, ax1 = plt.subplots() color = 'tab:red' ax1.set_xlabel('原始刻度') ax1.set_ylabel('平方值', color=color) ax1.plot(x_data, y_data, color=color) ax2 = ax1.twiny() # twiny(): 共享Y但有两个独立的X. # 如果需要共享X而拥有两个Y,则应使用twinx(). color = 'tab:blue' # 将第二个坐标系的数据转换为第一个坐标的等效位置, # 这里假设新的x表示的是原数值加5后的结果作为演示。 new_x_tick_positions = [(val + 5) for val in x_data] def forward(x): return x - 5 # 新到旧的关系函数 def inverse(x): return x + 5 # 旧回新的关系函数 ax2.set_xlim([min(new_x_tick_positions), max(new_x_tick_positions)]) second_ticks = [item.get_text() for item in ax1.get_xticklabels()] ax2.set_xlabel('偏移+5后的刻度') aux_trans=ax2.transData._b # 强制更新transform状态 ax2.set_xticks(new_x_tick_positions) ax2.spines["top"].set_position(("axes", 1.0)) ax2.tick_params(axis='x', colors=color) ax2.xaxis.label.set_color(color) plt.title("包含两个X的绘图") fig.tight_layout() plt.show() ``` 此代码段首先建立了一个基本的折线图,并设置了它的颜色及标签信息;接着我们使用了`twiny()` 函数添加一个新的X,它与之前的那个共享相同的 Y 范围。最后设置新加入的X样式、位置以及调整一些视觉效果使得两张表更易于区分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值