我正在使用 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},
答案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}