我希望绘制240 hz(x轴)捕获的数据与60hz(y轴)捕获的数据。 x轴数据是y轴的4倍,我希望x轴上的4个点在y轴上绘制1个点,因此结果图看起来像一个步骤。
我的清单:Y轴:np.arange(1, 40) # numpy
X轴:public class Car{
private int numOfDoors;
public Car(int nod){
numOfDoors = nod;
}
}
如何在图表中将4个多余点加入一个?
答案 0 :(得分:2)
您可以使用numpy.repeat
根据需要多次复制系列中的每个数据点。对于您的具体示例:
from matplotlib import pyplot as plt
import numpy as np
fig, ax = plt.subplots()
X = np.arange(1,41)
Y = np.array([0.0, 0.001, 0.003, 0.2, 0.4, 0.5, 0.7, 0.88, 0.9, 1.0])
Y2 = np.repeat(Y,4)
print(Y2)
ax.plot(X,Y2)
plt.show()
为Y2
提供以下输出:
[0. 0. 0. 0. 0.001 0.001 0.001 0.001 0.003 0.003 0.003 0.003
0.2 0.2 0.2 0.2 0.4 0.4 0.4 0.4 0.5 0.5 0.5 0.5
0.7 0.7 0.7 0.7 0.88 0.88 0.88 0.88 0.9 0.9 0.9 0.9
1. 1. 1. 1. ]
以下图:
您也可以使用
执行相反的操作X2 = X[::4]
ax.plot(X2, Y)
在这种情况下你得到这个数字: