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

gol*_*lay 56 python matplotlib python-2.7 python-3.x

我想要获得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()
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

Fra*_*ano 79

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

plt.figure(figsize=(3,4))
Run Code Online (Sandbox Code Playgroud)

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

  • 请记住,在调用“plt.plot()”之前需要调用“plt.figure(figsize=(3,4))” (8认同)

gho*_*h'. 39

您可以通过添加此项来更改绘图的大小

plt.rcParams["figure.figsize"] = [16,9]
Run Code Online (Sandbox Code Playgroud)

  • 这正是我需要在Jupyter Notebook中使用以使绘图更宽广的内容. (3认同)

mgi*_*son 19

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

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()
Run Code Online (Sandbox Code Playgroud)

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

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

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


Ant*_*oni 7

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

fig = plt.figure()
fig.set_figheight(value_height)
fig.set_figwidth(value_width)
Run Code Online (Sandbox Code Playgroud)

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

  • matplotlib 拥有有史以来最糟糕的 API 之一,问题是,它是 Python 中唯一最容易学习的工具。 (2认同)