在matplotlib中更改数字大小和数字格式

时间:2013-06-14 13:27:29

标签: python python-2.7 python-3.x matplotlib

我想获得完全由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 个答案:

答案 0 :(得分:64)

如果使用

显式创建图形,则可以设置图形大小
plt.figure(figsize=(3,4))

要更改已保存图形的格式,只需更改文件名中的扩展名即可。但是我不知道matplotlib后端是否支持tiff

答案 1 :(得分:35)

您可以通过添加此

来更改图表的大小
plt.rcParams["figure.figsize"] = [16,9]

答案 2 :(得分:17)

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

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 backend能够做到这一点。

一种选择是使用像imagemagick的convert这样的工具转换输出。

(另一种选择是在这里等待,直到real matplotlib expert出现并证明我错了; - )

答案 3 :(得分:5)

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

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

其中value_heightvalue_width以英寸为单位。对我来说,这是最实用的方法。