matplotlib 在python中绘制和计算数据范围的最大值

0vvn1miw  于 2023-03-03  发布在  Python
关注(0)|答案(1)|浏览(236)

我有一个文本文件包含了这样的数据,

0  0  6
1  1  5
2  4  4
4  16 2
6  25 3
9  16 1
10 45 4
15 18 3

第一列(比如x)是自变量,第二列(y1)和第三列(y2)是因变量。如何绘制x值范围从2到9的图形(x,y1)和(x,y2)?问题2:如何在x值范围内(即x= 2 ~ 9)求出相应y1和y2的最大值?

fdx2calv

fdx2calv1#

如果这是您的意思,您可以在同一个图中绘制多条线,如下所示:

import matplotlib.pyplot as plt

x = [0, 1, 2, 4, 6, 9, 10, 15]
y1 = [0, 1, 4, 16, 25, 16, 45, 18]
y2 = [6, 5, 4, 2, 3, 1, 4, 3]

plt.xlim([2, 9])

plt.plot(x, y1)
plt.plot(x, y2)

plt.show()

此外,要获得最高点:

import numpy as np

x = [0, 1, 2, 4, 6, 9, 10, 15]
y1 = [0, 1, 4, 16, 25, 16, 45, 18]
y2 = [6, 5, 4, 2, 3, 1, 4, 3]

y1 = [y1[i] for i in range(len(x)) if 2 <= x[i] <= 9]
y2 = [y2[i] for i in range(len(x)) if 2 <= x[i] <= 9]
x = [i for i in x if 2 <= i < 9]

print("y1 max:", np.amax(y1))
print("y2 max:", np.amax(y2))

相关问题