我试图用matplotlib绘制一个点云,我想延长时间轴,同时保持x轴和y轴不变,基本上将我的绘图变成一个长方形而不是立方体。目前我有以下代码:
def plot_events(event_slice, cap_events, frame_idx):
number_to_display = 5
number_cap_events_to_display = 1
eventsize = 2
plt.rcParams.update({'font.size': 22})
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.view_init(elev=33., azim=140)
ax.set_xlabel('time [s]')
ax.set_ylabel('x')
ax.set_zlabel('y')
ax.set_xticklabels([""])
ax.set_yticklabels([""])
ax.set_zticklabels([""])
ax.set_ylim([0, 240])
ax.set_zlim([0, 180])
X = event_slice[0::number_to_display, t_col]
Y = event_slice[0::number_to_display, x_col]
Z = event_slice[0::number_to_display, y_col]
ax.scatter(X, Y, Z, s=eventsize, c=(event_slice[0::number_to_display, 3]),
edgecolors='none', cmap=custom_cm)
ax.scatter(cap_events[0::number_cap_events_to_display, t_col], cap_events[0::number_cap_events_to_display, x_col],
cap_events[0::number_cap_events_to_display, y_col], s=eventsize, c='k',
edgecolors='none')
fig.tight_layout()
plt.show()
plt.close()
结果图如下:
只要改变时间轴的范围,就会挤压数据,同时保持轴的大小不变。在
我知道这个问题有一些“解决方案”;特别是here和here,但这些答案要么对我不起作用,要么要求我在matplotlib库中实际编辑代码,然后导致我的其他脚本停止工作。。。而且,这些答案现在已经很老了(最近的2012年),所以我想知道是否有新的解决方案来解决这个问题。在
目前没有回答
相关问题 更多 >
编程相关推荐