Falsche Skalierung bei psBoxplot und psaxes

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Falsche Skalierung bei psBoxplot und psaxes

von christoph88 » Fr 12. Jun 2015, 08:00

Hallo Elke,

vielen Dank für die schnelle Hilfe, jetzt habe ich es verstanden. :)

Viele Grüße
Christoph[/code]

von esdd » Do 11. Jun 2015, 14:20

Wenn beides gleich skaliert sein sollen, aber Du nur jeden sounsovielten Tick an der Achse eingetragen haben möchtest, dann müssen dy und Dy den gleichen Wert haben. dy gibt die Anzahl der y-Einheiten zwischen zwei aufeinanderfolgenden Ticks an und Dy die Differenz zwischen den daran stehenden Zahlen.

Beispiele:
\documentclass[onepage]{scrartcl} 
\usepackage{pst-all} 
\usepackage{auto-pst-pdf} 
\begin{document} 
\begin{pspicture}(-1,-1)(5,14) 
\psset{yunit=0.5,fillstyle=solid} 
\savedata{\data}[ 1 1 3 5 8 ] 
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}} 
\psaxes[dy=1,Dy=1](0,0)(2,10) 
\end{pspicture} 
\quad
\begin{pspicture}(-1,-1)(5,14) 
\psset{yunit=0.5,fillstyle=solid} 
\savedata{\data}[ 1 1 3 5 8 ] 
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}} 
\psaxes[dy=2,Dy=2](0,0)(2,10) 
\end{pspicture}
\quad
\begin{pspicture}(-1,-1)(5,14) 
\psset{yunit=0.5,fillstyle=solid} 
\savedata{\data}[ 1 1 3 5 8 ] 
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}} 
\psaxes[dy=10,Dy=10](0,0)(2,10) 
\end{pspicture}
\par
\bigskip
\begin{pspicture}(-1,-1)(5,14) 
\psset{yunit=0.25,fillstyle=solid} 
\savedata{\data}[ 1 1 3 5 8 ] 
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}} 
\psaxes[dy=1,Dy=1](0,0)(2,10) 
\end{pspicture} 
\quad
\begin{pspicture}(-1,-1)(5,14) 
\psset{yunit=0.25,fillstyle=solid} 
\savedata{\data}[ 1 1 3 5 8 ] 
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}} 
\psaxes[dy=2,Dy=2](0,0)(2,10) 
\end{pspicture}
\quad
\begin{pspicture}(-1,-1)(5,14) 
\psset{yunit=0.25,fillstyle=solid} 
\savedata{\data}[ 1 1 3 5 8 ] 
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}} 
\psaxes[dy=10,Dy=10](0,0)(2,10) 
\end{pspicture}
\end{document}
Gruß
Elke

Bild
Dateianhänge
gl_pstricks_boxplot.png
gl_pstricks_boxplot.png (13.18 KiB) 1474 mal betrachtet

von christoph88 » Do 11. Jun 2015, 13:53

Danke für die Antwort. Ich habe mich natürlich vertan, Entschuldigung. Der Code ist jetzt geändert, aber die Werte sind ja eigentlich beliebig.

Vielleicht habe ich mich falsch ausgedrückt. Ich möchte die y-Achse so skalieren, dass sich die Beschriftungen anpassen. Wenn ich also z.B. 100 als Höchstwert habe, soll nicht jede einzelne Einheit abgetragen werden. Und dann stimmen die Achsen nicht mehr mit den Boxen überein.

Es gibt demnach keine Möglichkeit, die Boxplots mit den Achsen zu verbinden?

Re: Falsche Skalierung bei psBoxplot und psaxes

von esdd » Do 11. Jun 2015, 10:31

christoph88 hat geschrieben: Wenn ich jedoch die Achsenskalierung ändere auf, z.B.
\psaxes[dy=1,Dy=1](0,0)(2,10)
Das ist doch das gleiche, wie in dem Beispiel oder übersehe ich da etwas?

Mit PSTricks habe ich auch schon ewig nichts mehr gemacht, aber wenn ich den Code richtig verstehe, werden der Plot und die Achsen vollkommen unabhängig gezeichnet und platziert. Wenn Du bei beiden gleichzeitig die Skalierung ändern willst, musst Du einen anderen Wert für yunit in \psset{yunit=0.5,fillstyle=solid} vorgeben.

Gruß
Elke

Falsche Skalierung bei psBoxplot und psaxes

von christoph88 » Mi 10. Jun 2015, 15:06

Hallo,

ich möchte mit PSTricks einen Boxplot zeichnen. Ich habe länger nicht mehr mit PSTricks gearbeitet und mir aus dem Internet den folgenden Code zusammengebaut:
\documentclass[onepage]{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{pst-all}
\usepackage{pst-pdf}

\begin{document}

\begin{pspicture}(-1,-1)(5,14)
\psset{yunit=0.5,fillstyle=solid}
\savedata{\data}[ 1 1 3 5 8 ]
\rput(1,0){\psBoxplot[fillcolor=red!18]{\data}}
\psaxes[dy=1,Dy=1](0,0)(2,10)
\end{pspicture}

\end{document}
Dieser funktioniert so auch wunderbar. Wenn ich jedoch die Achsenskalierung ändere auf, z.B.
\psaxes[dy=2,Dy=1](0,0)(2,10)
bleibt das Boxplot in genau derselben Größe wie vorher, jedoch passen die Werte nicht mehr zur Achse. Wie kann ich die Skalierung der Achse und des Boxplots miteinander verbinden?`

Ich hoffe, ihr könnt mir helfen.

Viele Grüße
Christoph

Nach oben