在 pgfplots 中填写标记

在 pgfplots 中填写标记

我一直在搜索并仔细阅读 pgfplots 手册,但似乎找不到一个很好的答案。我试图制作一个带有“空心圆”的图表来指示函数未定义的位置。现在我正在使用以下内容:

\begin{tikzpicture}
\begin{axis}[
    domain=-2:6,
    xtick={-2,...,6},
    ytick={-20,-10,...,40},
    xmajorgrids=true,ymajorgrids=true,
    xlabel={$x$},title={Graph of $y=g(x)$}
]
\addplot+[mark=none]{(20/9)*(x^3/3-(3/2)*x^2)};
\addplot+[only marks,mark=o,mark options={scale=2},text mark as node=true] coordinates {
    (-2,-20)
    (6,40)
    (5,10)
};
\end{axis}
\end{tikzpicture}

得到如下图片:

在此处输入图片描述

有没有一种简单的方法可以填充这些圆圈,这样我们就看不到它们后面的图形了?我尝试在“标记选项”中添加“fill=white”、“fill opacity=0”等,但无济于事。我也尝试过使用 tikz 命令 \draw 手动绘制一个圆圈,但似乎也不起作用。

谢谢!

答案1

mark=o是一个未填充的圆圈。请mark=*改用:

 \documentclass{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    domain=-2:6,
    xtick={-2,...,6},
    ytick={-20,-10,...,40},
    xmajorgrids=true,ymajorgrids=true,
    xlabel={$x$},title={Graph of $y=g(x)$}
]
\addplot+[mark=none]{(20/9)*(x^3/3-(3/2)*x^2)};
\addplot+[only marks,mark=*,mark options={scale=2, fill=white},text mark as node=true] coordinates {
    (-2,-20)
    (6,40)
    (5,10)
};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容