我想做一个pyplot图,但是我的x和y值的长度不同
我使用numpy的arange函数根据y值列表的长度创建x值的范围
def event_editor(EventDatabase, ConcatenatedEvents, ConcatenatedFits):
for i in list(EventDatabase):
# Check for events with absurd blockage current
if abs(EventDatabase[i]['AllLevelFits'][0]) > 5:
del EventDatabase[i]
continue
event = ConcatenatedEvents[i][0]
fit = ConcatenatedFits[i]
x_values = np.arange(0, len(event) / 100, .01)
x_values2 = np.arange(0, len(fit) / 100, .01)
fig = plt.figure()
plt.plot(x_values, event, figure=fig)
plt.plot(x_values2, fit, figure=fig)
plt.xlabel('Time (ms)', figure=fig)
plt.ylabel('Current (I)', figure=fig)
plt.title('Event #' + str(i), figure=fig)
plt.show()
我希望x_values
和event
/fit
列表具有相同的长度,而且大多数情况下它们具有相同的长度。但是,当event
/fit
的长度为111时,x_values
的长度为112,这是什么原因造成的
这是由于Python/NumPy中的
float
近似。 这种不一致的行为也记录在官方的docs中更可靠的方法是使用:
np.linspace()
例如:例如,变成:
请注意,使用
np.linspace()
可以指定点数,而不是将step
指定为最后一个参数相关问题 更多 >
编程相关推荐