我最近发现了 pgfplots 的一部分,它允许您使用命令添加外部图形\addplot graphics
。我有一个使用 matlab2tikz 转换为 tikz 的 matlab 图。问题是该图包含大量数据点,我不想每次编译文档时都处理它们。
我的问题是:是否可以外化仅绘制图的曲线,这样我就可以随时更改轴/图例/标题,而无需再次处理所有曲线数据(即我编译一次完整的 tikz 图片,然后将曲线外部化为 PDF 文件,以便以后可以使用该 PDF \addplot graphics
)?也许使用\addplot graphics
命令可以做到这一点,但我不知道如何做。
答案1
对于您的问题“有可能吗……”的答案显然是“是”。
你可以通过 matlab 方法导出曲线(例如使用axis off; print -dpng myfile.png
),然后通过将其集成到 tikz 图片中\addplot graphics
,之后你就可以安全地
- 更改轴标签
- 更改轴刻度
- 改变轴限制(!)
- 添加自定义注释
- 直接在 latex 中添加更多图
- ETC。
随时。
该\addplot graphics
命令假设您有一些图形(矢量图形或位图图形),并且知道有关其底层坐标系的一些信息(例如图像左下角和右上角的逻辑坐标)。此外,它还假设您知道图像的边界框。
“如何将我的逻辑坐标从 matlab 映射到结果图像以及如何将它们提供给 pgfplots?”和“如何分析边界框并将其值传达给 pgfplots?”的详细信息均在 pgfplots 手册中进行了详细讨论,其中有自己的章节\addplot graphics
。
看http://pgfplots.sourceforge.net/pgfplots.pdf,第“4.2.8 使用外部图形作为绘图源”一节。其中包含详细示例(也使用 matlab 代码)。
尽管二维情况相当简单,但整个过程甚至对于三维轴也有效。