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

如何基于DataFrame绘制Y轴范围为0-1的多折线图?

绘制固定Y轴范围0-1的双折线图

我们有如下结构的DataFrame:

No._treesprop._robinprop._dove
10.50.6
20.60.2

可复现的DataFrame代码:

import pandas as pd

d = {'No._trees': [1, 2], 'prop._robin': [0.5, 0.6], 'prop._dove':[0.6,0.2]}
df = pd.DataFrame(data=d)

你需要的是基于DataFrame的列数据绘制折线图,同时将Y轴的显示范围固定在0到1之间——这和常规绘图逻辑不冲突,Y轴依然使用prop._robin和prop._dove列的数据,只是通过设置轴范围约束显示区间即可。

方案一:使用Matplotlib手动绘制

import matplotlib.pyplot as plt

# 分别绘制两条折线,指定X轴为树木数量
plt.plot(df['No._trees'], df['prop._robin'], label='知更鸟', marker='o')
plt.plot(df['No._trees'], df['prop._dove'], label='鸽子', marker='s')

# 核心:固定Y轴范围为0-1
plt.ylim(0, 1)

# 添加图表辅助元素
plt.xlabel('树木数量')
plt.ylabel('比例')
plt.title('不同树木数量下知更鸟与鸽子的比例')
plt.legend()

# 显示图表
plt.show()

方案二:使用Pandas内置绘图(更简洁)

import matplotlib.pyplot as plt

# 直接基于DataFrame绘制折线图,指定X轴和要展示的Y列
df.plot(x='No._trees', y=['prop._robin', 'prop._dove'], marker='o')

# 固定Y轴范围
plt.ylim(0, 1)

# 调整标签与标题
plt.xlabel('树木数量')
plt.ylabel('比例')
plt.title('不同树木数量下知更鸟与鸽子的比例')

plt.show()

关键说明

  • plt.ylim(0, 1)是实现Y轴固定范围的核心代码,它会强制图表的Y轴显示区间锁定在0到1之间,不受数据本身波动范围影响。
  • 两条折线完全基于你提供的DataFrame列数据生成,X轴绑定No._trees列,Y轴分别绑定prop._robin和prop._dove列,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:52:53