Исправить Matplotlib xlim и ylim над повторными сюжетами для целей анимации

#opencv #matplotlib #scatter

#opencv #matplotlib #разброс

Вопрос:

Пытался быстро просмотреть мой симулятор частиц wip, и поэтому я использовал matplotlib для построения графиков частиц. Однако matplotlib, похоже, вносит небольшие коррективы между изображениями. (Изображения записываются в видео с помощью cv2 videowriter).

Кто-нибудь знает, как жестко установить диапазоны? (в настоящее время используются xlim и ylim)

 fig.tight_layout()
plt.xlim(xmin-x_axis_buffer,xmax x_axis_buffer)
plt.ylim(ymin-y_axis_buffer,ymax y_axis_buffer)


for i in range(nIters):
        plt.scatter(data[i,:,0],data[i,:,1],c=[i for i in range(nParticles)],cmap="gist_rainbow")
        fig.set_size_inches(8, 6)
        _=f'{i:04}.png'
        plt.savefig(_, dpi=100)
        plt.cla()
  

output_from_video.gif

Комментарии:

1. Используйте plt.xlim(-1, 1) и plt.ylim(-1, 1) для установки ограничений перед вызовом plt.savefig

2. Это работает! итак, установите lim после построения графика. ок.