pgfplots 标记不透明度

pgfplots 标记不透明度

我正在使用 pgfplots 创建散点图。我想要不透明度为 0.1 的圆形标记。以下是 MWE:

\documentclass{article}

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

\usepackage{filecontents}
\begin{filecontents}{data.dat}
0 0
0.25 0.25
0.5 0.5
0.75 0.75
1 1
\end{filecontents}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}
        \addplot[
            only marks,
            mark size = 10,
            blue,
            opacity=0.1,
            mark=*,
        ]
        table{data.dat};
    \end{axis}
    \end{tikzpicture}
\end{document}

输出乍一看还不错:

然而,当你放大其中一个标记时,问题就变得明显了:

如何去除外边缘附近的深色环?我想要均匀的标记。我尝试添加

scatter/use mapped color={draw opacity=0,fill=mapped color},

scatter/use mapped color={draw=mapped color,fill=mapped color},

按照我的\addplot建议选择这里这里但没有成功。

答案1

对于我来说,使用 simplydraw opacity=0就可以了。

\begin{filecontents}{data.dat}
0 0
0.25 0.25
0.5 0.5
0.75 0.75
1 1
\end{filecontents}
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{compat=1.14}
\begin{document}
    \begin{tikzpicture}
        \begin{axis}

            \addplot [
                only marks,
                mark size=10,
                blue,
                draw=red,
                % this would also work, if you just comment `fill opacity'
%                opacity=0.1,
                fill opacity=0.1,
                draw opacity=0,
                mark=*,
            ] table {data.dat};

%            % this also works for a "real" scatter plot
%            % (this example is just copied from the manual)
%            \addplot[
%                scatter,
%                only marks,
%                point meta=explicit symbolic,
%                scatter/classes={
%                    a={mark=square*,blue},
%                    b={mark=triangle*,red},
%                    c={mark=o,draw=black}%
%                },
%                fill opacity=0.1,
%                draw opacity=0,
%            ] table [meta=label] {
%                x y label
%                0.1 0.15 a
%                0.45 0.27 c
%                0.02 0.17 a
%                0.06 0.1 a
%                0.9 0.5 b
%                0.5 0.3 c
%                0.85 0.52 b
%                0.12 0.05 a
%                0.73 0.45 b
%                0.53 0.25 c
%                0.76 0.5 b
%                0.55 0.32 c
%            };

        \end{axis}
    \end{tikzpicture}
\end{document}

该图显示了上述代码的放大区域

相关内容