是否有选项可以制作漂亮的灰度 pgfplots 图形?

是否有选项可以制作漂亮的灰度 pgfplots 图形?

我正在写一篇学术期刊论文,目前正处于校对的最后阶段,我们需要提交灰度图。我是否可以为 pgfplots 提供一个选项,以便图表自动变为灰度图?我知道\selectcolormodel{gray},但使用默认的 pgfplots 颜色和标记选项,输出的灰度图看起来并不美观和清晰。例如,下图中的重叠标记不清晰。

\documentclass[margin=2pt]{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\selectcolormodel{gray}

\begin{document}
\begin{tikzpicture}
\begin{axis}
    \addplot coordinates {(0,0) (1,0) (2,0) (3,3) (4,4)};
    \addplot coordinates {(0,0) (1,1) (2,2) (3,3) (4,4)};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

我知道可以使用 imagemagick 将 PDF 输出转换为灰度,但如果 PDF 输出已经是灰度的话会更方便。

答案1

我发现仅cycle list 使用虚线、点线和精心选择的标记来定义有助于使两条数据线彼此区分开来。

\documentclass[margin=2pt]{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\pgfplotscreateplotcyclelist{grayscale}{
    thick,white!20!black,mark=o,mark options=solid,densely dotted\\%
    thick,white!50!black,mark=x,mark options=solid,dashed\\%
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[cycle list name=grayscale]
    \addplot coordinates {(0,0) (1,0) (2,0) (3,3) (4,4)};
    \addplot coordinates {(0,0) (1,1) (2,2) (3,3) (4,4)};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容