Изменить размер фигуры и формат фигуры в 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()
Любая помощь?
Ответы
Ответ 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]