Подтвердить что ты не робот

Изменить размер фигуры и формат фигуры в matplotlib

Я хочу получить fig1 ровно размером 4 на 3 дюйма и в формате tiff, исправляя программу ниже:

import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
plt.plot(list1, list2)
plt.savefig('fig1.png', dpi = 300)
plt.close()

Любая помощь?

4b9b3361

Ответ 1

Вы можете установить размер фигуры, если вы явно создаете фигуру с помощью

plt.figure(figsize=(3,4))

Чтобы изменить формат сохраненной фигуры, просто измените расширение в имени файла. Однако я не знаю, поддерживает ли какой-либо из бэкэдов matplotlib tiff

Ответ 2

Первая часть (установка размера вывода явно) не слишком сложна:

import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
fig = plt.figure(figsize=(4,3))
ax = fig.add_subplot(111)
ax.plot(list1, list2)
fig.savefig('fig1.png', dpi = 300)
fig.close()

Но после быстрого поиска google на matplotlib + tiff, я не уверен, что matplotlib может делать графики tiff. Существует некоторое упоминание о бэкэнде GDK, способном это сделать.

Одним из вариантов было бы преобразование вывода с помощью инструмента, такого как imagemagick convert.

(Еще один вариант - подождать здесь, пока не появится настоящий эксперт matplotlib и не докажет, что я ошибаюсь; -)

Ответ 3

Вы можете изменить размер графика, добавив этот

plt.rcParams["figure.figsize"] = [16,9]