如何将matplotlib图形以emf/wmf格式获取
在本文中,我们将介绍如何使用Matplotlib将图形以emf或wmf格式获取。EMF和WMF是在Windows上广泛使用的矢量图形格式,它们可以在Microsoft Office软件中很好地呈现。
阅读更多:Matplotlib 教程
了解emf/wmf格式
EMF(增强型元文件)和WMF(窗口元文件)是Windows上使用的两种矢量图形格式。它们可以用于在Microsoft Office软件中呈现图形,这使得它们成为数字图形和图表的理想格式。
WMF是一种较古老的格式,它以16位字节编码。 EMF是一种具有更高分辨率和可扩展性的格式,它具有32位字节编码和更先进的功能。
安装emf/wmf
Matplotlib的默认输出格式是以png、pdf、ps、eps等格式输出。为了将Matplotlib图形转换为EMF或WMF格式,我们需要安装一些额外的依赖关系。在Windows系统上,我们需要安装Ghostscript软件并设置环境变量。 可以从以下链接下载Ghostscript:https://www.ghostscript.com/download/gsdnld.html
下载后,双击安装程序,下一步下一步即可完成安装。接下来需要设置环境变量,将Ghostscript的安装路径添加到PATH环境变量中,以便在Matplotlib中调用它。
定义函数以生成emf/wmf格式
在可以使用emf/wmf格式之前,我们需要创建可将图形转换为指定格式的函数。 Matplotlib附带有EMF图片格式,但WMF格式需要使用额外的工具完成。我们可以使用Ghostscript软件将png格式图像转换为emf / wmf格式,我们首先定义一个将png图像转换为emf / wmf图像的函数。
除此之外,我们还需要一个带有微软雅黑字体的mplstyle文件。
我们可以新建一个名为“my_style.mplstyle”的文件,并将以下内容复制到其中,以确保在生成wmf / emf图时使用微软雅黑字体。
Matplotlib已经设置了许多默认样式,您也可以参考它们的mplstyle文件来设置自己的mplstyle文件。
使用Matplotlib将图形转换为emf / wmf格式
接下来,我们需要了解如何使用Matplotlib将图形转换为emf / wmf格式。 将matplotlib.rc配置文件中的backend属性更改为Agg(不会显示图形),以确保图形不会在屏幕上显示。
然后,我们还需要引入mplstyle文件来确保图形使用微软雅黑字体。它必须是在引入matplotlib库之后调用的。
接下来,我们通过仅运行以下代码来创建并保存带有所需格式的图形:
在这个例子中,我们创建一个简单的折线图,并使用我们之前定义的函数将其保存为wmf和emf格式。
总结
在本文中,我们介绍了如何使用Matplotlib将图形以emf或wmf格式保存。为了能够支持这些格式,需要安装Ghostscript软件并在Matplotlib中设置环境变量。我们还定义了将png格式图像转换为emf / wmf格式的函数,并将其应用于创建的示例图形。要以预期的格式呈现图形,还需要使用mplstyle文件设置微软雅黑字体。通过这个简单的例子,我们希望能够帮助你更好地了解如何在Matplotlib中生成可呈现在Microsoft Office软件中的图形。