根据 (Y,Z) 绘制 X [复制]

Plotting X against (Y,Z) [duplicate]

提问人:Iphy Kelvin 提问时间:11/14/2023 最后编辑:Trenton McKinneyIphy Kelvin 更新时间:11/14/2023 访问量:49

问:

给定具有 X、Y 和 Z 特征的数据或数据帧

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

我想直观地画一个 X 针对 Y 和 Z 的图(plot(X,(Y,Z)))。 最初我以为它是3D的,但不幸的是它不是。

所以我想知道是否有办法在python中做到这一点。我检查了scipy.interpolate.griddata,我不知道这是否是我正在寻找的。

Python 熊猫 matplotlib

评论

0赞 BigBen 11/14/2023
散点图 Y 对 X 和 Z 对 X?
0赞 Iphy Kelvin 11/14/2023
嗯,我不知道这是否是我想要的,但我会尝试一下,看看。谢谢。我的想法更像是 X 对 Y 和 Z。 听起来像 2D
0赞 BigBen 11/14/2023
如果数据帧为 .df.plot(x='X', y=['Y', 'Z'])
0赞 Iphy Kelvin 11/14/2023
我分散地这样做了,我给了我一个 KeyError。
0赞 Trenton McKinney 11/14/2023
ax = df.plot(x='X', figsize=(10, 5))或者是所有需要的ax = df.plot(x='X', ls='', marker='.', figsize=(10, 5))

答:

0赞 mozway 11/14/2023 #1

正如注释中建议的那样,您可以将这两列作为参数传递:y

df.plot(x='X', y=['Y', 'Z'])

输出:enter image description here

另一种选择是手动孪生轴以添加另一个轴:

ax = df.plot(x='X', y='Y')
df.plot(x='X', y='Z', color='r', ax=ax.twiny())

输出:enter image description here