Matplotlib Matplolib修复pdf文件的精确大小

Matplotlib Matplolib修复pdf文件的精确大小,matplotlib,Matplotlib,我有一个从文件创建条形图的代码。我使用rcParams(横向A4格式)设置的固定大小将每个绘图保存在pdf文件中: fig_size=plt.rcParams[“figure.figsize”] fig_尺寸[0]=11#横向A4格式英寸 fig_尺寸[1]=8 plt.rcParams[“figure.figsize”]=图尺寸 这是将绘图另存为pdf的代码 plt.savefig(文件名,bbox_inches=“tight”,pad_inches=0.5,transparent=True

我有一个从文件创建条形图的代码。我使用rcParams(横向A4格式)设置的固定大小将每个绘图保存在pdf文件中:

fig_size=plt.rcParams[“figure.figsize”]
fig_尺寸[0]=11#横向A4格式英寸
fig_尺寸[1]=8
plt.rcParams[“figure.figsize”]=图尺寸
这是将绘图另存为pdf的代码

plt.savefig(文件名,bbox_inches=“tight”,pad_inches=0.5,transparent=True,dpi=300)
我试过dpi=100,dpi=600,没有变化

我有大约40个pdf文件。但是,这些pdf的大小略有不同,从10:35 x 8:36到近10:47x 8:47英寸。 我说的是页面本身的大小,而不是磁盘空间,据我所知,磁盘空间取决于用于打印文件的像素数。我的文件大小在13-17KB之间。。。没关系

不好的是,我不能将pdf文件合并到报告中,因为pdf页面的大小不匹配

如何将pdf页面的大小设置为完全相同

下面是一个可复制的脚本:

“用于堆栈溢出”
将matplotlib.pyplot作为plt导入
小尺寸=9
中等尺寸=14
较大尺寸=18#28
plt.rc('font',size=SMALL#大小)#控制默认文本大小
plt.rc(“轴”,标题大小=小尺寸)#轴标题的字体大小
plt.rc('axes',labelsize=中等大小)#字体x和y标签的大小
plt.rc('xtick',labelsize=小尺寸)#勾号标签的尺寸
plt.rc('ytick',labelsize=小尺寸)#勾号标签的尺寸
plt.rc('legend',fontsize=小尺寸)#legend fontsize
plt.rc(“轴”,标题大小=更大的尺寸)
#x1=[14,10,61,15,22]
#y1=[-10,-2,1,8,12]
#x1=[0,1.4,1.47,2.3,2.6]
#y1=[-1.51,-0.03,0.04,0.92,1.23]
x1=[0.795466667,1.02,1.12,1.155,1.22,1.459,1.47,1.81]
y1=[-1.50,-0.77,-0.45,-0.34,-0.13,0.64,0.68,1.77]
杆宽=1.2
r1=[1.5*i表示范围内的i(0,len(y1))]
fig_size=plt.rcParams[“figure.figsize”]
fig_尺寸[0]=11#fig_尺寸[0]=11.69
fig_尺寸[1]=8#fig_尺寸[1]=8.27
plt.rcParams[“figure.figsize”]=图尺寸
利润率(0.005,0.005)
plt.条(r1,y1,对齐=中心,颜色='#9E0032',宽度=条宽)
plt.xlabel('Z Code',fontwweight='bold')
plt.ylabel('\n Z值',fontwweight='bold')
#在x轴上创建名称
plt.xticks(r1,x1,fontwweight='bold')
plt.yticks(fontwweight='bold')
title=“Specimen1”
plt.title(title,fontwweight='bold')
文件名=标题+“.pdf”
#plt.savefig(文件名,bbox_inches=“tight”,pad_inches=0.5,transparent=True,dpi=300)
plt.savefig(文件名,pad_英寸=0.5,透明=True,dpi=300)
plt.show()

感谢您的帮助

bbox\u inches=“tight”
裁剪图形(这就是它的用途)。所以,如果你不想这样做,就把它删除。@johnhaning我上面的评论不足以作为答案吗?@John注意,
bbox\u inches=“tight”
tight\u布局不同。前者更改导出的图形大小,后者重新排列图形中的元素。附带说明:A4不是8“×11”-如果您这样设置figsize并实际打印在A4纸张上,您将感到失望…再次,您是正确的!!!我不得不一次又一次地跟踪代码,最后一个“bbox_inches=”tight“出现在我的周围。现在,一旦我的标题长度不超过66个字符,所有内容都是11 x 8。非常感谢
bbox\u inches=“tight”
裁剪图形(这就是它的用途)。所以,如果你不想这样做,就把它删除。@johnhaning我上面的评论不足以作为答案吗?@John注意,
bbox\u inches=“tight”
tight\u布局不同。前者更改导出的图形大小,后者重新排列图形中的元素。附带说明:A4不是8“×11”-如果您这样设置figsize并实际打印在A4纸张上,您将感到失望…再次,您是正确的!!!我不得不一次又一次地跟踪代码,最后一个“bbox_inches=”tight“出现在我的周围。现在,一旦我的标题长度不超过66个字符,所有内容都是11 x 8。非常感谢