PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pgfplot und textipa



mkaterbow
27-01-2011, 16:28
Hallo,
ich würde gerne bei der Erstellung von Diagrammen mit pgfplot in den symbolic x coords IPA-Schriftzeichen mit \textipa{} ausgeben. Leider produziert das Fehlermeldungen der Art "Missing \endcsname inserted.", "Extra }, or forgotten \endgroup." Da mir diese Meldungen nichts sagen, wollte ich mal fragen, ob evtl. jemand eine Idee zum Problemlösen hat.

Danke!

bobmalaria
27-01-2011, 16:42
hi,

du hast wohl irgendwo eine } vergessen. das ist am wahrscheinlichsten. willst du mehr wissen, dann musst du mal ein beispiel machen das zeigt was genau du machst (oft gehoertes stichwort: minimalbeispiel).

gruss

mkaterbow
27-01-2011, 17:12
hi,
ja, das war auch mein erster verdacht, allerdings hab ich keine klammer vergessen, sondern ich bekomme diese fehlermeldungen, sobald ich bei der Angabe von symbolic cords irgendwelche Formatierungen vornehmen möchte, z.B. funktioniert auch \textit{a} nicht.

geht:
symbolic x coords={a}

geht nicht:
symbolic x coords={\textit{a}}
symbolic x coords={\textipa{a}}

Wie kann ich denn hier Formatierungen vornehmen?
grüße!

mkaterbow
02-02-2011, 10:54
Für alle, die ein ähnliches Problem habe. Ich habe eine wunderbare Lösung vom Autor des packages bekommen:



\documentclass[a4paper]{article}

\usepackage{pgfplots}

\begin{document}

% Task: symbolic coordinates which can be formatted somehow.
%
% Problem: coordinates must be expandable (i.e. no formatting
% instructions allowed).
%
% Suggested approach: define a dictionary which is only used for tick
% labels:

\expandafter\newcommand\csname dict.a\endcsname{$\alpha$}
\expandafter\newcommand\csname dict.b\endcsname{$\beta$}
\expandafter\newcommand\csname dict.c\endcsname{$\xi$}

% Explanation:
% \expandafter replaces the *second* following token by its
% "top-level" expansion:
% \expandafter\newcommand\csname dicta\endcsname{...}
% -->
% \newcommand\dicta{...}
%
% \csname ...\endcsname is, in principle, the same as '\...'. But you
% can use any characters inside of '...', including commands.

\begin{tikzpicture}
\begin{axis}[
symbolic x coords={a,b,c},xticklabel=\csname dict.\tick\endcsname,
xtick=data,
]
\addplot coordinates {(a,2) (b,3) (c,4)};
\end{axis}
\end{tikzpicture}
\end{document}

mkaterbow
02-02-2011, 16:40
Hat jemand eine Idee, wie ich obige Lösung zur Formatierung von xticklabels für nodes adaptieren kann? Ich würde nämlich gerne in einem Scattergramm oberhalb der marks ebenfalls Sonderzeichen ausgeben. Danke :-)



\documentclass[a4paper]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[nodes near coords,enlargelimits=0.2]
\addplot+[only marks,
point meta=explicit symbolic]
coordinates {
(0.5,0.2) [(a)]
(0.2,0.1) [(b)]
(0.7,0.6) [(c)]
(0.35,0.4) [(d)]
(0.65,0.1) [(e)]
};
\end{axis}
\end{tikzpicture}
\end{document}