gpt4 book ai didi

python - 使用 numpy 分隔数组以在 python 中使用 matplotlib 进行绘图

转载 作者:行者123 更新时间:2023-11-30 23:29:17 26 4
gpt4 key购买 nike

我有一个包含 2 条数据曲线的数组,从 Excel 导入。下面是我的数组。第 1 列是 x 轴,第 3 列是 y 轴。

[[  0.00000000e+00   8.57250668e-06   0.00000000e+00]
[ 1.88000000e+03 8.57250668e-06 1.88617039e-01]
[ 8.01000000e+03 8.57250668e-06 3.42702439e-01]
[ 8.16300000e+04 8.57250668e-06 4.43486869e-01]
[ 0.00000000e+00 1.49761692e-05 0.00000000e+00]
[ 2.09000000e+03 1.49761692e-05 1.58760000e-01]
[ 8.22000000e+03 1.49761692e-05 2.54700000e-01]
[ 8.18400000e+04 1.49761692e-05 2.92848750e-01]]

这是我的代码

import numpy as np
import matplotlib.pyplot as plt

A = np.array(
[[0.00000000e+00, 8.57250668e-06, 0.00000000e+00],
[1.88000000e+03, 8.57250668e-06, 1.88617039e-01],
[8.01000000e+03, 8.57250668e-06, 3.42702439e-01],
[8.16300000e+04, 8.57250668e-06, 4.43486869e-01],
[0.00000000e+00, 1.49761692e-05, 0.00000000e+00],
[2.09000000e+03, 1.49761692e-05, 1.58760000e-01],
[8.22000000e+03, 1.49761692e-05, 2.54700000e-01],
[8.18400000e+04, 1.49761692e-05, 2.92848750e-01]])

print A
x= A[:,0]
c0= A[:,1]
y_meas= A[:,2]

plt.plot(x,y_meas,'-b')

plt.title('Reaction')
plt.legend(['Data'], loc='lower right')
plt.show()

Here is my plotted data

显然这不是我想要的。如何将 2 条曲线分别保留在数组中,以便我可以拥有 2 条离散曲线?

最佳答案

很难说出你想要生产什么。但查看 x 轴和 y 轴数据点,很明显您正在处理从零开始、增加然后返回到零的数据。因此,假设您必须绘制这两条曲线,您可以按如下方式分离数组:

x1= A[:,0][:4]
x2= A[:,0][4:]
c0= A[:,1]
y_meas1= A[:,2][:4]
y_meas2= A[:,2][4:]

plt.plot(x1,y_meas1,'-b')
plt.plot(x2,y_meas2,'-g')

plt.title('Reaction')
plt.legend(['Data1', 'Data2'], loc='lower right')
plt.show()

enter image description here

如果数组中的数据不仅仅是这 8 个数据点,您可以创建一个循环来自动解析数组,方法是检查 x 或 y 坐标(或两者)何时等于 0,并保存先前的 x 和 y 值(在一定范围内)以便绘制它们。这样您就不必手动创建所有数组。希望这会有所帮助。

关于python - 使用 numpy 分隔数组以在 python 中使用 matplotlib 进行绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21221304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com