colorbrewer 循环列表不显示标记

colorbrewer 循环列表不显示标记

我正在尝试使用 colorbrewer 库,但无法重现发现的图在这篇文章中。虽然颜色看起来还可以,但我无法正确标记。我必须在每一行中明确说明标记吗?这是我目前拥有的代码:

\documentclass{standalone}
\usepackage{pgfplots}

\usepgfplotslibrary{colorbrewer}


\begin{document}

\pgfplotsset{cycle list/Dark2}

\begin{tikzpicture}         
    \begin{loglogaxis}[]

\addplot+ [] table[row sep=crcr]{%
0.184336225523003       0.5732577932974867 \\
0.09731519605337209 0.17515134885908823 \\
0.047909648908800985    0.046898347944650795 \\
0.024262955029476976    0.012377139605563326 \\
}
   ;

\addplot+ [] table[row sep=crcr]{%
0.184336225523003   0.3633379688472427 \\
0.09731519605337209 0.09683966888638465 \\
0.047909648908800985    0.024779440434761386 \\
0.024262955029476976    0.00630727204643381 \\
}
 ;

\addplot+ [] table[row sep=crcr]{%
0.184336225523003   0.04378172643874487\\
0.09731519605337209 0.002999869392740562\\
0.047909648908800985    0.00018383371004886438\\
0.024262955029476976    1.1219427919932696e-05\\
}
 ;

   \end{loglogaxis}
\end{tikzpicture}

\end{document}

产生

在此处输入图片描述

答案1

正如 PGFPlots 手册第 5.2.1 节所写:

请注意,cycle lists随附colorbrewer仅包括颜色。但是,商品cycle list通常还带有标记,甚至线条样式变化。为了将纯色cycle list与标记相结合,您应该使用cycle multi listcycle multiindex listcycle multiindex* list等功能...

因此答案是肯定的,您必须为每个\addplot命令提供一个标记或定义一个适当的cycle list

% used PGFPlots v1.15
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \usepgfplotslibrary{colorbrewer}
    \pgfplotsset{
        % initialize Dark2
        cycle list/Dark2,
        % combine it with 'mark list*':
        cycle multiindex* list={
            mark list*\nextlist
            Dark2\nextlist
        },
    }
\begin{document}
\begin{tikzpicture}
    \begin{loglogaxis}[
        table/row sep=crcr,
    ]

        \addplot table {
            0.184336225523003       0.5732577932974867 \\
            0.09731519605337209     0.17515134885908823 \\
            0.047909648908800985    0.046898347944650795 \\
            0.024262955029476976    0.012377139605563326 \\
        };

        \addplot table {
            0.184336225523003       0.3633379688472427 \\
            0.09731519605337209     0.09683966888638465 \\
            0.047909648908800985    0.024779440434761386 \\
            0.024262955029476976    0.00630727204643381 \\
        };

        \addplot table {
            0.184336225523003       0.04378172643874487\\
            0.09731519605337209     0.002999869392740562\\
            0.047909648908800985    0.00018383371004886438\\
            0.024262955029476976    1.1219427919932696e-05\\
        };
    \end{loglogaxis}
\end{tikzpicture}
\end{document}

该图显示了上述代码的结果

答案2

来自pgfplots文档:

请注意,随附的循环列表colorbrewer仅由颜色组成。但是,好的循环列表通常还带有标记,并且可能带有线条样式变化。为了将纯颜色的循环列表与标记结合起来,您应该利用 、 和 功能cycle multi listcycle multiindex list例如cycle multiindex* list使用:

\pgfplotsset{
    % initialize Set1-5:
    cycle list/Set1-5,
    % combine it with ’mark list*’:
    cycle multiindex* list={
        mark list*\nextlist
        Set1-5\nextlist
    },
}

cycle multiindex* list详细信息请参阅参考手册。

您可以重复使用给定的示例,并Set1-5用您需要的任何集合进行替换。

相关内容