为什么我的 pgfplots 散点图包含颜色图中没有的颜色?

为什么我的 pgfplots 散点图包含颜色图中没有的颜色?

这是先前帖子。我的目标是制作一个使用元数据来着色/阴影数据点的图。我很难理解的是颜色图是如何应用于元范围内的最大/最小值的。正如您从下面的 MWE 中看到的那样,具有 $\Pi_2 = 0$ 的点被涂成蓝色,而我期望的是黑色,因为我使用的是 hot2 颜色图。有人能告诉我这是怎么回事吗?

谢谢!

\documentclass[margin=5pt]{standalone}

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

\begin{filecontents*}{mydata.dat}
  C   P1      P2      P3  sigP3
  1   1.12E-4 0.06189 0.1865  0.0080
  1   6.03E-3 0.00000 0.2517  0.0046
  1   2.64E-2 0.00000 0.2247  0.0165
  2   6.49E-5 0.00000 0.1906  0.0043
  2   1.27E-5 0.00296 0.2120  0.0039
  2   3.34E-4 0.00865 0.1709  0.0050
  3   1.59E-2 0.01857 0.1596  0.0216
  3   7.10E-4 0.01857 0.2547  0.0316
  3   3.23E-5 0.00526 0.1557  0.0051
  3   2.33E-4 0.01857 0.2008  0.0136
  3   5.80E-4 0.01857 0.2389  0.0172
\end{filecontents*}

\begin{document}
\begin{tikzpicture}

  \begin{semilogxaxis}[
      width=12cm,height=8cm,
      xlabel={$\Pi_1$},
      ylabel={$\Pi_3$},
      ymin=0.1,ymax=0.35,
      xmin=1E-5,xmax=1E-1,
      log basis x=10,
      colorbar,
      colorbar style={
        colormap/hot2,
        xshift=-1.5em,
        ylabel={$\Pi_2$},
        scaled ticks=false,
        yticklabel style={
          font=\footnotesize,
          /pgf/number format/fixed,
          /pgf/number format/fixed zerofill,
          /pgf/number format/precision=2,
        },
      },
    ]
    \addplot+[
      scatter,scatter src=explicit,mark=*,only marks,
      error bars/.cd,y dir=both,y explicit,error bar style={black}
    ]
    table[x=P1,y=P3,y error=sigP3,meta=P2,
      restrict expr to domain={\thisrow{C}}{1:1}
    ]{mydata.dat}; 
    \addlegendentry{Cond. 1}

    \addplot+[
      scatter,scatter src=explicit,mark=square*,only marks,
      error bars/.cd,y dir=both,y explicit,error bar style={black}
    ]
    table[x=P1,y=P3,y error=sigP3,meta=P2,
      restrict expr to domain={\thisrow{C}}{2:2}
    ]{mydata.dat}; 
    \addlegendentry{Cond. 2}

    \addplot+[
      scatter,scatter src=explicit,mark=triangle*,only marks,
      error bars/.cd,y dir=both,y explicit,error bar style={black}
    ]
    table[x=P1,y=P3,y error=sigP3,meta=P2,
      restrict expr to domain={\thisrow{C}}{3:3}
    ]{mydata.dat}; 
    \addlegendentry{Cond. 3}

  \end{semilogxaxis}
\end{tikzpicture}

\end{document}

平均能量损失

相关内容