Python Matplotlib指定间隔内的轴值

Python Matplotlib指定间隔内的轴值,python,matplotlib,plot,Python,Matplotlib,Plot,我有一个有200个数据点的csv。如果我绘制它,x轴将采用0到200之间的默认值。但是,每个事件对应4个数据点,因此我希望x轴上的值为0到50 这就是我现在拥有的 import matplotlib.pyplot as plt fig1 = plt.figure() ax1 = fig1.add_subplot(111) ax1.plot(val, color='blue', label='t1') ax1.plot(val2, color='red', label='t2') ax1.pl

我有一个有200个数据点的csv。如果我绘制它,x轴将采用0到200之间的默认值。但是,每个事件对应4个数据点,因此我希望x轴上的值为0到50

这就是我现在拥有的

import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

ax1.plot(val, color='blue', label='t1')
ax1.plot(val2, color='red', label='t2')
ax1.plot(val3, color='green', label='t3')
ax1.plot(val5, color='magenta', label='t4')

plt.axis([0,200,0,0.8])

plt.xlabel('Values')
plt.ylabel('Events')
ax1.legend(loc='upper right')

你知道我该如何修改它以有效地将x轴上的数字除以4吗

嗯,您没有为数据点指定任何x值。因此它使用它们的索引作为默认值

制作一个所需长度的数组,如
x=np.linspace(0,50,num=200)
并将其作为
ax1.plot(x,val)
使用
x=np.arange(0,50,0.25)
作为绘图中的x值,例如:

ax1.plot(x,val, color='blue', label='t1')

@重要的是,即使你错了,它也是200。检查
len(np.arange(0,50,0.25))
对不起,这可能是一个让人困惑的问题,但是如果你从0到50有200个点,步长必须是0.25125…在这种情况下,你可以使用
np.linspace(0,50200)
。是的,这就是另一个答案所说的。