Как изменить размер рисунков в matplotlib без центрирования? - PullRequest
0 голосов
/ 26 января 2019

Я строю последовательные изображения точки, вращающейся по кругу.Я пытаюсь вывести квадратные изображения, используя plt.savefig().Выход по умолчанию имеет размеры 640 × 480 (не квадратные).

Используя figure(figsize = (x_size,y_size)), я могу указать количество дюймов вдоль каждого измерения в выходных данных plt.savefig(), как описано в КакВы меняете размер рисунков, нарисованных с помощью matplotlib? .Однако это центрирует изображение так, что моя точка всегда появляется в центре кадра.

Чтобы быть более понятным, используя следующий код, я могу вывести квадратные изображения (500 × 500) точек, вращающихся по кругу:

for i in range(N):
  x = np.cos(w * t)
  y = np.sin(w * t)
  t += dt
  plt.xlim(-2, 2)
  plt.ylim(-2, 2)
  fig = plt.figure(figsize=(5, 5))
  plt.scatter(x, y, marker='o', c='black', s=100)
  plt.axis('off')
  plt.savefig("./fig" + str(i) + ".png")

Однако изображение смещено вдоль xось Y так, что точка всегда появляется в центре изображения.

Как можно выводить квадратные изображения без центрирования изображения?

РЕДАКТИРОВАТЬ: Решение заключается в определении fig = plt.figure(figsize=(5, 5)) перед настройкой plt.xlim(-2, 2) и plt.ylim(-2, 2).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...