如何解决如何使用matplotlib中的子图来控制紧身图形的确切大小?
我编写了这段代码,以生成带有特定图形尺寸(以英寸为单位)的子图网格。 第12行指定图形宽度(约150mm)。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
def img(fig,grid):
ax = fig.add_subplot(grid)
plot = ax.pcolormesh(np.random.random((10,10)),vmin=0,vmax=1)
return ax,plot
rows = 3
cols = 4
x_inches = 5.905 # ~150mm
y_inches = x_inches*(rows/cols)
dpi = 96
fig = plt.figure(1,figsize = (x_inches,y_inches),dpi = dpi)
layout = gridspec.GridSpec(ncols = cols,nrows = rows,figure = fig)
for m in range(rows):
for n in range(cols):
img(fig,layout[m,n])
plt.subplots_adjust(hspace = 0.4,wspace = 0.4)
plt.savefig('example.pdf',dpi = dpi,bbox_inches='tight',pad_inches = 0)
plt.show()`
代码生成一个带有内部矢量图形的.pdf文件:
但是,当我查看.pdf文件的文档属性时,它说该数字是125.4 x 93.9毫米
通过将第24行更改为:plt.savefig('example.pdf',pad_inches = 0)
结果为:
在这种情况下,图形具有我设置的尺寸,但是没有狭窄的外观。
如何生成具有指定大小和紧凑框的图形?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。