我的代码:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepgflibrary{plotmarks}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=major,
x=5mm,
y=5mm,
xtick={-5,-4,...,5},
xmin=-5,
xmax=5,
xlabel={\tiny $x$},
axis x line=middle,
ytick={-10,-9,...,10},
tick label style={font=\tiny},
ymin=-10,
ymax=10,
ylabel={\scriptsize $f(x)$},
axis y line=middle,
samples=500,
domain=-10:10,
restrict y to domain=-20:20,
no markers
]
\addplot {x^5};
\addplot [only marks,mark=o] coordinates { (1, 1) };
\end{axis}
\end{tikzpicture}
\end{document}
问题
尽管我包括情节标记并设置标记=o,使用默认的黑色填充标记。
- 图片1显示上述代码的结果。
- 图片 #2显示出我想要的那种标记。
- 图片#3显示删除后的代码结果
no markers
。 - 图片#4显示删除后的代码结果
no markers
和绘制的函数图。
1) 2) 3) 4)
答案1
手册pgfplots
(v1.9,p158)对按键有如下说明no markers
(感谢 percusse 提供的参考):
cycle list
一个键,它将覆盖之后的选项列表设置的任何标记值\addplot
。如果将此样式作为参数提供给完整的axis
,它将被附加到 ,every axis plot post
这样即使对于cycle list
包含标记的 s 也会禁用标记。
这里的选项no markers
是罪魁祸首:它覆盖了only marks, mark=o
第二个中的选项\addplot
。
如果您不将其传递no markers
给axis
环境,而是+[mark=none]
用于绘图,则会获得所需的输出。
编辑:如果您想知道,加号\addplot +[mark=none] ...
是将mark=none
选项附加到已隐式使用的选项,而不是覆盖它们。请参阅pgfplots
文档中的子节 4.7.7。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepgflibrary{plotmarks}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=major,
x=5mm,
y=5mm,
xtick={-5,-4,...,5},
xmin=-5,
xmax=5,
xlabel={\tiny $x$},
axis x line=middle,
ytick={-10,-9,...,10},
tick label style={font=\tiny},
ymin=-10,
ymax=10,
ylabel={\scriptsize $f(x)$},
axis y line=middle,
samples=500,
domain=-10:10,
restrict y to domain=-20:20,
]
\addplot +[mark=none]{x^5};
\addplot [only marks,mark=o] coordinates { (1, 1) };
\end{axis}
\end{tikzpicture}
\end{document}