我正在尝试使用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年),所以我想知道是否有针对此问题的新解决方案。