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

如何在pairplot所在的同一画布中添加额外坐标轴以绘制其他图表

实现思路与代码示例

当然可以扩展pairplot返回的画布并添加新坐标轴。核心思路是调整原有pairplot子图的布局空间,然后在画布上新增独立坐标轴来绘制折线图,具体步骤如下:

  • 先绘制pairplot,获取对应的figure对象
  • 调整画布的布局参数,为新图表腾出空间
  • 通过figure.add_subplot()或figure.add_axes()添加新坐标轴
  • 在新坐标轴上绘制折线图

代码示例

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# 1. 绘制pairplot并获取figure
iris = sns.load_dataset("iris")
g = sns.pairplot(iris, hue="species")
fig = g.fig

# 2. 调整原有子图布局,留出右侧空间
fig.subplots_adjust(right=0.7)  # 把右侧空间预留出来,默认right=1,设为0.7给新图

# 3. 添加新的坐标轴(对应1行2列的第二个位置)
ax_new = fig.add_subplot(1, 2, 2)

# 4. 在新坐标轴上绘制折线图
x = np.linspace(0, 10, 100)
y = np.sin(x)
ax_new.plot(x, y)
ax_new.set_title("折线图示例")
ax_new.set_xlabel("X轴")
ax_new.set_ylabel("Y轴")

plt.show()

如果需要更精确控制新坐标轴的位置,可以使用add_axes()方法,传入[left, bottom, width, height]列表(数值为画布相对坐标,范围0-1):

# 替换add_subplot的代码
ax_new = fig.add_axes([0.75, 0.1, 0.2, 0.8])  # 左、下、宽、高的相对位置

这样就能实现pairplot和折线图在同一画布的1行2列布局,两者的坐标轴完全独立,互不干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:40:34