Matplotlib 在区间内指定轴值
Matplotlib specify axes value inside an interval
我有一个包含 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 个数据点的 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')