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

如何用Python绘制X与Y、Z的关联图(非三维图)

Python实现X与Y、Z的关联图方案

问题描述

用户拥有如下数据集:

X    Y    Z
 4    3    2
 5    6    9
 1    2    10

希望绘制X与Y、Z的关联图,形式类似plot(X,(Y,Z)),并非三维图,询问Python是否可实现,以及scipy.interpolate.griddata是否适用。

实现方案

完全可以用Python实现这类需求,且不需要用到scipy.interpolate.griddata(该工具用于离散点插值生成网格数据,适用于热力图、等高线图等场景,与当前需求不匹配)。你要的其实是在同一坐标系中,以X为横轴,同时绘制Y和Z两条曲线(或散点),直观展示X分别与Y、Z的关联关系。

方法1:使用Matplotlib手动绘制

import matplotlib.pyplot as plt

# 定义数据
X = [4, 5, 1]
Y = [3, 6, 2]
Z = [2, 9, 10]

# 创建绘图画布
plt.figure(figsize=(8, 5))

# 绘制X-Y、X-Z的折线+散点
plt.plot(X, Y, marker='o', color='blue', label='Y')
plt.plot(X, Z, marker='s', color='orange', label='Z')

# 添加图表元素
plt.xlabel('X')
plt.ylabel('Value')
plt.title('X vs Y & Z')
plt.legend()

# 显示图形
plt.show()

方法2:使用Pandas快速绘制(适合DataFrame格式数据)

如果数据是以DataFrame形式存储,可直接利用Pandas的绘图接口:

import pandas as pd
import matplotlib.pyplot as plt

# 构建DataFrame
df = pd.DataFrame({
    'X': [4, 5, 1],
    'Y': [3, 6, 2],
    'Z': [2, 9, 10]
})

# 设置X为索引,绘制Y和Z的折线图
df.set_index('X').plot(marker='o', figsize=(8, 5))
plt.xlabel('X')
plt.ylabel('Value')
plt.title('X vs Y & Z')
plt.show()

以上两种方式都会生成同一横轴下的两条曲线,清晰展示X与Y、Z的关联关系,完全符合你想要的plot(X,(Y,Z))效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:10:13