79

我想获得 4 x 3 英寸大小的 fig1,并以 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()
4

4 回答 4

137

如果显式创建图形,则可以设置图形大小

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

您需要在调用之前设置图形大小plt.plot() 要更改保存图形的格式,只需更改文件名中的扩展名。但是,我不知道任何 matplotlib 后端是否支持 tiff

于 2013-06-14T13:38:01.350 回答
61

您可以通过在创建图形之前添加它来更改绘图的大小。

plt.rcParams["figure.figsize"] = [16,9]
于 2017-08-11T07:33:24.817 回答
24

第一部分(明确设置输出大小)并不难:

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()

但是在对 matplotlib + tiff 进行快速谷歌搜索之后,我不相信 matplotlib 可以制作tiff情节。有人提到GDK 后端能够做到这一点。

一种选择是使用 imagemagick 之类的工具转换输出convert

(另一种选择是在这里等到真正的 matplotlib 专家出现并证明我错了 ;-)

于 2013-06-14T13:30:49.563 回答
21

如果您需要在创建更改图形大小,请使用方法

fig = plt.figure()
fig.set_figheight(value_height)
fig.set_figwidth(value_width)

在哪里value_heightvalue_width在英寸。对我来说这是最实用的方法。

于 2018-10-12T08:09:20.377 回答