Python Matplotlib设置打印区域的大小

Python Matplotlib设置打印区域的大小,python,matplotlib,pdf,imshow,Python,Matplotlib,Pdf,Imshow,假设我有一个给定大小的图形,以像素为单位(在这种情况下是1344 x 1920),见下文。我想把这个数字保存到一个pdf文件中,并最终打印到一张纸上。打印时,我需要将打印区域的尺寸固定在纸上,单位为厘米。纸上的最终图像的宽度为20cm,高度为14cm。我将打印它,不带轴,因此它将只是代表轴的黑色正方形的内部,我不关心包括标签等在内的图形大小 Cheers您可以使用matplotlib的figsize以英寸为单位设置绘图大小(不确定是否有办法以厘米为单位) 到目前为止你试过什么?如果您给出一些示

假设我有一个给定大小的图形,以像素为单位(在这种情况下是1344 x 1920),见下文。我想把这个数字保存到一个pdf文件中,并最终打印到一张纸上。打印时,我需要将打印区域的尺寸固定在纸上,单位为厘米。纸上的最终图像的宽度为20cm,高度为14cm。我将打印它,不带轴,因此它将只是代表轴的黑色正方形的内部,我不关心包括标签等在内的图形大小


Cheers

您可以使用matplotlib的
figsize
以英寸为单位设置绘图大小(不确定是否有办法以厘米为单位)


到目前为止你试过什么?如果您给出一些示例代码,这将非常有帮助。我使用fig.set_size_inches,但这将设置完整的图形大小,而不是绘图区域大小。在这种情况下,简单地得到一个像上面这样的图形并不是很有趣,我认为,因为人们可以只绘制plt.plot([1100],[1100]),然后从那里开始工作。刻度、标签等的大小是否包含在这个尺寸中,或者这是否真的只设置了绘制绘图区域的内部大小(即问题中给出的示例中的黑色矩形内)@Matt否,轴不包括在尺寸中(我刚刚尝试过)。我也测试了它,问题是指定的尺寸(10,8)实际上是图形大小,即绘图区域加上填充。添加轴、记号或标题时,绘图区域的大小确实不会改变,因为matplotlib将所有这些都放在填充区域内,因此兔子会出现在相同的位置(错误!)纸上的大小。我不关心图形的总大小,但我需要轴内的区域达到一定的大小。一个棘手的问题是检查matplotlib的填充量,并在创建图形时对此进行说明。我认为一个解决方案可能是在图形中没有轴、标题,然后设置_fig.savefig(路径,bbox_inches='tight',pad_inches=0)保存时。我将测试并报告,目前看起来很有希望。您可以这样做。您还可以在每个维度中将图形大小增大20%,并使用底部、顶部、左侧和右侧设置轴的大小
from matplotlib import pyplot as plt
#...

plt.figure(figsize=(10, 8)) #will make the figure 10 by 8 inches