Re: Pgfplots: utilizzare simbolo % nell’asse delle ascisse

#59918
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    Buongiorno a tutti,
    innanzitutto mi presento: mi chiamo Alessandro e sono un felice utente (base) Latex da alcuni anni.
    In questo periodo sono alle prese con la tesi e tutte le guide ed i post sul forum sono stati preziosi per risolvere i problemi che si sono presentati.
    Non riesco a correggere l’errore che ottengo compilando questo codice:

    `
    \begin{figure}[!htbp]
    \centering
    \begin{tikzpicture}
    \begin{axis}[
    symbolic x coords={control, 3\%, 6\%, 9\%, 12\%, 15\%},
    xtick=data,
    tick label style={
    /pgf/number format/1000 sep=},
    ylabel=\textbf{n. of strains},
    xlabel=\textbf{ethanol \% (v/v)},
    nodes near coords,
    point meta=y,
    legend style={at={(0.5,-0.15)},
    anchor=north,legend columns=-1},
    ybar,
    bar width=15pt,
    ]
    \addplot %positive
    coordinates {(control,87) (3\%,76) (6\%,58) (9\%,43) (12\%,19) (15\%,13)};
    \addplot %negative
    coordinates {(control,0) (3\%,11) (6\%,29) (9\%,44) (12\%,68) (15\%,74)};

    \legend{positive, negative}
    \end{axis}
    \end{tikzpicture}
    \caption{Growth of yeast strain on lab media containing ethanol. The results are expressed as number of strain able (positive) or not able (negative) to grow.}
    \label{gra:ethanol}
    \end{figure}
    `

    Durante la compilazione, per tutti i %, ottengo:
    `

    ! Missing \endcsname inserted.

    \%
    l.21 …1) (6\%,29) (9\%,44) (12\%,68) (15\%,74)};
    `

    Premendo invio a tutti gli errori il grafico viene compilato comunque correttamente.
    Sapreste aiutarmi?
    Grazie

    (ansys mi hai anticipato mentre scrivevo il msg…)
    Evidentemente pgfplots non riesce a gestire token particolari nel dizionario.
    Togli i simboli di percentuale ed eventualmente inseriscili nei tick di etichetta della asse.
    Inserisci quindi tra le opzioni dell’ambiente axis la chiave xticklabels per indicare le etichette che desideri:

    `\documentclass[a4paper]{article}
    \usepackage{lmodern}
    \usepackage{pgfplots}

    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    ymin=0, ymax=100,
    symbolic x coords={ctrl,3,6,9,12,15},
    xticklabels={control,3\%,6\%,9\%,12\%,15\%},
    xtick=data,
    tick label style={
    /pgf/number format/1000 sep=},
    ylabel=\textbf{n. of strains},
    xlabel=\textbf{ethanol \% (v/v)},
    nodes near coords,
    point meta=y,
    legend style={at={(0.5,-0.20)},
    anchor=north,legend columns=-1},
    ybar,
    bar width=15pt
    ]
    \addplot %positive
    coordinates {(ctrl,87) (3,76) (6,58) (9,43) (12,19) (15,13)};
    \addplot %negative
    coordinates {(ctrl,0) (3,11) (6,29) (9,44) (12,68) (15,74)};

    \legend{positive, negative}
    \end{axis}
    \end{tikzpicture}

    \end{document}`

    Il grafico a barre non è a mio avviso indicato. Forse una bella linea fa comprendere meglio l’andamento complementare dei due fenomeni:

    `\documentclass[a4paper]{article}
    \usepackage{lmodern}
    \usepackage{pgfplots}

    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    xmajorgrids,
    ymin=0, ymax=100,
    xtick={0,3,6,9,12,15},
    xticklabels={control,3\%,6\%,9\%,12\%,15\%},
    ylabel=\textbf{N. of strains},
    xlabel=\textbf{Ethanol (v/v) (\%)},
    nodes near coords,
    point meta=explicit symbolic,
    legend style={at={(0.5,-0.20)},
    anchor=north,legend columns=-1},
    ]

    %positive
    \addplot+[nodes near coords align=below] coordinates
    {(0,87) [87\%]
    (3,76) [3\%]
    (6,58) [6\%]
    (9,43) [9\%]
    (12,19) [12\%]
    (15,13) [15\%]};

    %negative
    \addplot coordinates
    {(0,0) [0\%]
    (3,11) [3\%]
    (6,29) [6\%]
    (9,44) [9\%]
    (12,68)[12\%]
    (15,74)[15\%]};

    \legend{positive, negative}
    \end{axis}
    \end{tikzpicture}

    \end{document}`
    Buon lavoro e benvenuto sul forum!!!
    R.

    Go to top