Python中指定数据范围的绘图及最大值计算方法
解决方案
假设你的数据文件名为data.txt,以下是基于Python的实现方案:
问题1:绘制x∈[2,9]的(x,y1)和(x,y2)曲线图
我们可以用pandas处理数据,matplotlib完成绘图,步骤如下:
- 导入所需库
import pandas as pd import matplotlib.pyplot as plt
- 读取数据并筛选目标范围
# 读取文本文件,指定列名 df = pd.read_csv('data.txt', sep='\s+', names=['x', 'y1', 'y2']) # 筛选x在2到9之间的行(包含边界值) filtered_df = df[(df['x'] >= 2) & (df['x'] <= 9)]
- 绘制双曲线图
plt.figure(figsize=(8, 5)) # 绘制(x,y1)曲线,添加标记点 plt.plot(filtered_df['x'], filtered_df['y1'], marker='o', label='y1') # 绘制(x,y2)曲线,添加不同标记点 plt.plot(filtered_df['x'], filtered_df['y2'], marker='s', label='y2') # 补充图表基础元素 plt.xlabel('x') plt.ylabel('y') plt.title('y1 & y2 Curves (x ∈ [2,9])') plt.legend() plt.grid(True) plt.show()
问题2:获取x∈[2,9]范围内y1和y2的最大值
基于上面筛选好的filtered_df,直接调用max()方法即可得到结果:
max_y1 = filtered_df['y1'].max() max_y2 = filtered_df['y2'].max() print(f"y1的最大值:{max_y1}") print(f"y2的最大值:{max_y2}")
运行后会输出:
y1的最大值:25
y2的最大值:4
内容的提问来源于stack exchange,提问作者Bip
相关产品推荐
相关产品推荐

