我正在从文件中读取线数据并绘制它。默认情况下,曲线有标记,原始数据点在哪里。数据点非常不均匀,但我希望有均匀分布的线标记。
MWE(标记分布不均匀,例如希望整条线上有 5 个均匀分布的标记):
\documentclass[a4paper,12pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[mark=*, blue] coordinates {(1, 1) (2, 1) (3, 1) (5, 1) (8, 1) (16, 1)};
\end{axis}
\end{tikzpicture}
\end{document}
有什么办法可以实现这个吗?提前致谢。
答案1
如果我正确理解了这个问题,那么你想用独立于数据点的标记来标记函数。然后装饰会有所帮助:
\documentclass[a4paper,12pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[
blue,
postaction={
decoration={
markings,
mark=between positions 0 and 1 step 0.2
with { \fill circle[radius=2pt]; },
},
decorate,
},
]
coordinates {(1, 1) (2, 1) (3, 1) (5, 1) (8, 1) (16, 1)};
\addplot[
red,
postaction={
decoration={
markings,
mark=between positions 0 and 1 step 0.04
with { \fill circle[radius=2pt]; },
},
decorate,
},
domain=0:16,
samples=200,
]
({\x}, {sin(\x*180/pi)+1});
\end{axis}
\end{tikzpicture}
\end{document}