PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pgfplots: X-Achse links und rechts verdoppelt



mkaterbow
04-11-2010, 22:09
Hallo mrunix-Forum!

Heute hab ich mein erstes Diagramm mit pgfplots erstellt und bin soweit auch mit dem Ergebnis zufrieden. Mit dem unten genannten Code wird das angehängte Digramm erzeugt.
Problem: Auf der X-Achse wird der linke und rechte Wert dupliziert. Das soll natürlich nicht so sein, aber ich weiß nicht, wie ich das lösen kann.



\begin{figure}[htb]
\centering
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={M6,M5,J2,M4,M1,M3,J1,M2,J4,J5,J3},
width=15cm,
height=6cm,
ylabel=Prozent,
legend style={at={(0.5,-0.2)}, anchor=north,legend columns=-1},
ybar,
]
\addplot [color=black, fill=white] coordinates {(M6,) (M5,100) (J2,42.1) (M4,16.7) (M1,0) (M3,100) (J1,100) (M2,100) (J4,0) (J5,0) (J3,0)};

\addplot [color=black, fill=black] coordinates {(M6,20) (M5,50) (J2,58.2) (M4,50) (M1,0) (M3,0) (J1,100) (M2,100) (J4,100) (J5,100) (J3,0)};

\legend{Formelle Situation,Informelle Situation}
\end{axis}
\end{tikzpicture}

\caption{Variationskompetenz in der 1. Schulklasse (Variable: \textit{das}/\textit{was}/\textit{es}); Reanalyse der Daten von \textcite[][49-59]{Scholten1988a}}
\label{dia:Scholten1988_var1_zs1}
\end{figure}


By the way kann mir vielleicht auch noch jemand sagen, wie ich den Rahmen um die Legende entfernen kann?

Vielen Dank!

bobmalaria
04-11-2010, 22:38
hi,

enlarge x limits abgeschaltet und die legende entsprechend formatiert. ersteres hatte ich im kopf, beim zweiten habe ich nach legend/ .style in der doku gesucht, da findest du nämlich immer die originalen definitionen.


\documentclass{article}

\usepackage{pgfplots}

\begin{document}

\pgfplotsset{every axis legend/.append style={draw=none}}

\begin{figure}[htb]
\centering
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={M6,M5,J2,M4,M1,M3,J1,M2,J4,J5,J3},
width=15cm,
height=6cm,
ylabel=Prozent,
legend style={at={(0.5,-0.2)}, anchor=north,legend columns=-1},
ybar,
enlarge x limits=false
]
\addplot [color=black, fill=white] coordinates {(M6,) (M5,100) (J2,42.1) (M4,16.7) (M1,0) (M3,100) (J1,100) (M2,100) (J4,0) (J5,0) (J3,0)};

\addplot [color=black, fill=black] coordinates {(M6,20) (M5,50) (J2,58.2) (M4,50) (M1,0) (M3,0) (J1,100) (M2,100) (J4,100) (J5,100) (J3,0)};

\legend{Formelle Situation,Informelle Situation}
\end{axis}
\end{tikzpicture}

\caption{Variationskompetenz in der 1. Schulklasse (Variable: \textit{das}/\textit{was}/\textit{es}); Reanalyse der Daten von }
\label{dia:Scholten1988_var1_zs1}
\end{figure}

\end{document}

gruss

ps: und das nächste mal bitte ein komplettes beispiel das ich per copy&paste benutzen kann!

mkaterbow
05-11-2010, 08:03
hi!
super, es funktioniert jetzt prima! Danke!
Kannst du mir noch sagen, wie ich den Abstand zwischen den Legenden-Einträgen vergrößern kann?

Ein anderes Problem: Ich würde gerne die X-Werte, für die es keinen Y-Wert gibt, auf der Null-Linie markieren (z.B. mit einem Sternchen). Geht das irgendwie?

grüsse

mkaterbow
05-11-2010, 21:19
Es ist noch eine Frage dazu gekommen: Weiß jemand, wie man die Balken mit einem pattern versehen kann? Am besten schräg von link nach rechts.
Ich habe schon pattern=horizontal lines light blue ausprobiert, aber das färbt den ganzen Balken nur schwarz ein!

Feuersaenger
07-11-2010, 08:29
Hallo,

das mit den patterns klappt, wenn Du beispielsweise

\usetikzlibrary{patterns}
...

\addplot %[color=black, fill=black]
[draw=blue,pattern=horizontal lines light blue]
coordinates {(M6,20) (M5,50) (J2,58.2) (M4,50) (M1,0) (M3,0) (J1,100) (M2,100) (J4,100) (J5,100) (J3,0)};

schreibst. Vielleicht fehlte bei Dir lediglich das 'draw=blue' oder so.

Wenn ich mich recht erinnere, koennte es hier einschraenkungen bei den drivern geben - evtl. geht obiges nur mit pdflatex oder mit latex/dvips.
Naeheres zu verfuegbaren patterns steht im manual von pgf.

Mit liebem Gruss

Christian

mkaterbow
07-11-2010, 11:32
Hi!
Ja, das geht schon aber leider nur in blau! Wie kann man denn Schraffuren in schwarz oder in grau erzeugen? und kann man die Ausrichtung der Schraffur ändern?

Grüße

Feuersaenger
11-11-2010, 19:20
Hallo mkaterbow,

leider kenne ich mich hiermit auswaendig nicht so gut aus. Da hat das pgfmanual aber sicher Beispiele bzw. Doku.

Mit liebem Gruss

Christian