均匀分布的线标记

均匀分布的线标记

我正在从文件中读取线数据并绘制它。默认情况下,曲线有标记,原始数据点在哪里。数据点非常不均匀,但我希望有均匀分布的线标记。

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}

结果

相关内容