pgfplots 出版物中的图表

pgfplots 出版物中的图表

期刊通常要求出版物中的图表采用某些特定格式(例如 eps、svg、tiff 等)。现在我已经使用 pgfplots 制作了文章中的所有图表,将所有图表转换为 eps 的最佳做法是什么?我是否应该使用某种外部工具从当前文章中提取所有图表(gpdfx、inkscape 等)并将它们转换为正确的格式,然后\includegraphics再次使用它们?大量繁琐的工作,肯定有更好的选择?

答案1

实际上,感谢 percusse 的评论,我研究了 pgfplotsexternalize库并发现添加这两行

\usepgfplotslibrary{external}
\tikzexternalize

我的序言毫不费力就做到了我想要的事情!

(Ryan 的回答也很棒,感谢他,但这是一个更好的方法。)

答案2

一种可能的工作流程是将每个pgfplots图形或tikzpicture:放入一个standalone文档中,这将为您提供.pdf该图形的文件,然后您可以使用其他东西进行转换。

\documentclass{standalone}
\usepackage{pgfplotstable}

\pgfplotstableread{
    Ma       Mb      a
    200      50      5.6
    170      80      3.3
    140      110     1.0
    100      150     -1.6
    70       180     -3.9
}\caseone

\begin{document}
    \begin{tikzpicture} 
        \begin{axis}[
            title=Variable Net Force,
            xlabel={Acceleration},
            ylabel={Net Force},
            legend entries={Raw Data,Line of Best Fit},
            legend style={at={(0.973,0.03)},anchor=south east},
            width=\textwidth,]
                \addplot
                    [only marks, black] 
                    table[x=Ma, y=a]{\caseone};
                \addplot 
                    [smooth, black, very thin]
                    table[x=Ma, y={create col/linear regression={y=a}}]
                    {\caseone};
        \end{axis}
    \end{tikzpicture}
\end{document}

上述操作将仅输出pdf格式的图表,然后可以将其转换为任何内容并将其包含在内,这样\includegraphics就可以正常工作,因为空格已被修剪。

如果您使用的是类 Unix 系统,则可以使用 ImageMagick Convert 一次转换所有图像,例如,如果您命名了所有图形,figure1.pdf figure2.pdf figure3.pdf那么您可以使用convert -density 600 figure*.pdf figure*.eps它们进行批量转换,并保留编号。

相关内容