Re: pgfplots \addplot[]file{nomefile.dat}: intervallare markers

#85910
Liverpool
Partecipante
    Up
    0
    Down
    ::


    1) puoi usare [tt]each nth point=numero[/tt] per prendere soltanto un valore ogni [tt]numero[/tt] dal file. In questo modo risparmi memoria, ma modifichi anche la curva sotto i marcatori perché ignori alcuni valori.
    2) puoi usare [tt]mark repeat=numero[/tt] per ripetere i marcatori ogni [tt]numero[/tt] campioni del file. Penso che sia quello che volevi.
    3) puoi creare uno stile personalizzato sfruttanto la chiave [tt]dash pattern[/tt]:
    `\documentclass{standalone}
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.8,
    pallozzi/.style={line cap=round,
    line width=5pt,
    dash pattern=on 0pt off 25pt}
    }
    \begin{document}
    \begin{tikzpicture}
    \begin{axis}
    \addplot [pallozzi] {exp(x)};
    \end{axis}
    \end{tikzpicture}
    \end{document}`
    In questo caso, puoi agire su [tt]line width[/tt] per cambiare le dimensioni dei pallozzi e su [tt]off[/tt] per distanziarli maggiormente. Nota che il risultato è diverso dal punto 2, perché i marcatori sono equidistanti rispetto al sostegno della curva, non rispetto al dominio.

    4) Ancora meglio, puoi usare la libreria [tt]decorations.markings[/tt] di TikZ con lo stesso risultato del punto 3, ma senza dover tracciare a parte la curva:
    `\documentclass

    {standalone}
    \usepackage{pgfplots}
    \usetikzlibrary{decorations.markings}
    \pgfplotsset{compat=1.8,
    pallozzi/.style={decoration={markings,
    mark=between positions 0 and 1 step 25pt with {
    \fill (0,0) circle (2.5pt);}
    },
    postaction=decorate}
    }
    \begin{document}
    \begin{tikzpicture}
    \begin{axis}
    \addplot [blue, mark=*, mark repeat=5] {exp(x)};
    \addplot [red, pallozzi] {exp(x)+20};
    \end{axis}
    \end{tikzpicture}
    \end{document}`

    Ciao

    Go to top