我有一个包含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()
显然这不是我想要的。如何将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()
如果您的数据不只是数组中的这8个数据点,则可以创建一个循环以通过检查x或y坐标(或两者)何时等于零并保存以前的x-来自动解析数组。和y值(在范围内)以进行绘制。这样,您就不必手动创建所有数组。希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句