我正在尝试在指定点处绘制一条带有一些标记的简单线条,我经常用来绘制此类线条的代码似乎不起作用,我不知道为什么。特别是,我得到的是一条没有标记的线条。我将不胜感激任何帮助,代码如下:
\begin{tikzpicture}
\begin{axis}[
axis line style={draw=none},
ticks=none,
xmin=-5.5,
xmax=5.5,
ymax=-5,
ymin=5,
anchor=origin
]
\addplot[]coordinates{(-5,0)(5,0)};
\addplot[dotted]coordinates{(-5.5,0)(-5,0)};
\addplot[dotted]coordinates{(5.5,0)(5,0)};
\foreach \k in {-4,-1,...,4}{
\addplot[mark=diamond*]coordinates{(\k,0)};
}
\end{axis}
\end{tikzpicture}
答案1
ymin
一旦您修正和的值,ymax
使得的值ymin
低于的值ymax
,标记就会显示出来。
但是您可能想要更改\foreach
循环的值列表。如果您说{-4,-1,...,4}
,这将导致列表{-4, -1, 2}
。为什么?好吧,使用第一个数字,您可以设置循环列表的起始值,即 -4。使用第二个数字,您可以设置第二个值和步长,也就是说,第二个值为 -4,步长为 3。使用三个点后面的数字,您可以设置值列表的最后一个值 4。但是由于前两个数字分别为 -4 和 -1 并且(因此)步长为 3,所以永远不会达到 4,因此循环将停止在 2,因为下一个值 6 已经大于您定义为最后一个值的值。
在下面的例子中,我将循环列表的步长改为 1:
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis line style={draw=none},
ticks=none,
xmin=-5.5,
xmax=5.5,
ymin=-5,
ymax=5,
anchor=origin
]
\addplot[]coordinates{(-5,0)(5,0)};
\addplot[dotted]coordinates{(-5.5,0)(-5,0)};
\addplot[dotted]coordinates{(5.5,0)(5,0)};
\foreach \k in {-4,-3,...,4} {
\addplot[mark=diamond*]coordinates{(\k,0)};
}
\end{axis}
\end{tikzpicture}
\end{document}