2024-10-03 09:07:54 发布
网友
我有一个matplotlib图例,如下所示:
有什么简单的方法可以将标记导出为单独的.pdf文件?换句话说,我希望得到三个单独的.pdf,一个带有蓝色X,一个带有gold+,等等
最终我想做的是在一个LaTexFigure标题的内嵌图例中使用这些标记,但是我想我会在LaTexSE网站上询问这个部分。在
将图例控制柄导出到文件的方法是将创建的地物保存为pdf,但将其裁剪为感兴趣的部分。在
这可以通过在调用savefig中为bbox_inches参数指定一个边界框bbox
savefig
bbox_inches
bbox
plt.savefig("file.pdf", dpi="figure", bbox_inches=bbox )
现在我们只需要找出要使用的边界框。这可以通过找到每个图例句柄的DrawingArea并将其边界框转换为以英寸为单位的坐标。这是在下面代码中的函数export_legend_handles中完成的。在
DrawingArea
export_legend_handles
不幸的是,在编写代码时,我发现该标记可能确实超过了DrawingArea。由于我还没有找到自动查找DrawingArea之外句柄的实际大小的方法,因此可能需要手动将边界框扩展/缩小一些像素。为此,下面的函数有一个参数d,它允许设置这些像素偏移量,对于这个测试用例,我已经在其中输入了一些合适的值。在
d
这将产生如下图
并将图例句柄保存为pdf和png图像,如下所示
将图例控制柄导出到文件的方法是将创建的地物保存为pdf,但将其裁剪为感兴趣的部分。在
这可以通过在调用
savefig
中为bbox_inches
参数指定一个边界框bbox
现在我们只需要找出要使用的边界框。这可以通过找到每个图例句柄的
DrawingArea
并将其边界框转换为以英寸为单位的坐标。这是在下面代码中的函数export_legend_handles
中完成的。在不幸的是,在编写代码时,我发现该标记可能确实超过了
^{pr2}$DrawingArea
。由于我还没有找到自动查找DrawingArea
之外句柄的实际大小的方法,因此可能需要手动将边界框扩展/缩小一些像素。为此,下面的函数有一个参数d
,它允许设置这些像素偏移量,对于这个测试用例,我已经在其中输入了一些合适的值。在这将产生如下图
并将图例句柄保存为pdf和png图像,如下所示
相关问题 更多 >
编程相关推荐