python - 在 python 中创建矢量图形以在 word/powerpoint 中使用的最佳方法

标签 python svg matplotlib ms-word powerpoint

我通常将 python 中的绘图保存为 PNG。这工作正常,但在事后重新缩放时有明显的缺点。因此,我想将我的绘图、图形等保存为矢量图形,然后能够将它们导入到 windows 应用程序中,例如 word 或 powerpoint。

我现在面临几个问题。

  • 将 matplotlib 中的内容保存为支持矢量图形 (SVG) 效果很好。问题,我不能(轻易地)将它导入到 word 或 pp 中。
  • 另存为 EPS 会产生可怕的结果。例如,我在两条线之间设置了阴影区域(使用 alpha 为 0.3 的 fill_between),并且在 EPS 中这些区域是全彩色的。可以导入到 word/pp 中,但图形效果不佳。
  • 我还尝试使用 inkscape 将 SVG 文件转换为 EPS。这里阴影区域仍然保留,但整体质量再次不好(实际上看起来更像是一个糟糕的光栅图形)并且一些图例被切断。

这里有一些图像试图形象化我的问题。

plot saved as PNG after importing into word - the way it should look

plot saved as EPS after importing into word - no shading, axe labels and no legend (not shown)

plot saved as SVG and then converted to EPS using inkscape after importing into word - shading correct, but all writing (labels, title etc.) in poor quality, looks actually more like a bad raster graphic

最佳答案

您使用的是 Windows 还是 Mac 上的 Office 版本?

更一般地说:将 EPS 与 Office 一起使用是一项特殊的业务。 Office 不以任何标准方式处理 EPS。如果您总是打印到 PostScript 打印机或使用其他一些基于 PostScript 的输出方法(例如,打印到 PS 然后提取到 PDF)EPS 确实可以很好地工作如果您进行注册表更改以告诉 PPT(不知道关于 Word) 才能正常运行。询问,我会看看是否可以挖掘细节。否则,它会尝试解释 EPS 本身的 PS 内容,并且可能会或可能不会很好地完成它。

你能转换成 EMF(这里假设是 Windows)吗?如果没有,您可以控制图像的分辨率吗?转换为更高分辨率的 PNG 可能会获得最佳效果。

关于python - 在 python 中创建矢量图形以在 word/powerpoint 中使用的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25910299/

相关文章:

javascript - Snap SVG .animate 回调立即触发

javascript - D3力图渲染节点和链接

python - (matplotlib.pyplot) 散点图轴中的错误顺序

python - 带有对象的 MVC 游戏设计

python - 用于同时过滤和转换的列表理解中的中间变量

python - 从 Python 发送电子邮件

python - 如何绘制指示大小的散点图图例?

python - 连接两个没有值的系列(pandas DataFrame)?

javascript - 我怎样才能收集 4 个小三 Angular 形来组成一个大三 Angular 形?

python - 使 matplotlib 按钮小部件在按下时启动,而不是在释放时启动