pgfplot: Überlappende y tick labels positionieren

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: pgfplot: Überlappende y tick labels positionieren

von Orikson » Do 15. Okt 2015, 11:12

Hallo und danke für die schnelle Antwort.

Die Lösung mit der raisebox gefällt mir ebenfalls gut, so werde ich das nun auch lassen. Allerdings scheint die etwas Probleme mit relativen Angaben und Kommawerten zu haben, mit -0.7\baselineskip macht er gar nichts, mit -1\baselineskip schon :roll:
\raisebox{-0.7\baselineskip} % geht nicht
\raisebox{-1\baselineskip} % geht schon

von Noch so einer » Do 15. Okt 2015, 10:53

Ohne die seltsam gebogenen Linien:
\documentclass[a4paper]{scrreprt}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
   ymin = -1.5,
   ymax = 2.5,
   grid = major,
   ytick = {2, 0, -0.15, -1},
   yticklabels = {$2$, \raisebox{1mm}{$0$}, \raisebox{-6mm}{$0.15$}, $-1$}
   ]
   \addplot{x};
\end{axis}
\end{tikzpicture}

\end{document}
Theoretisch könnte man mit \tikz vermutlich auch kleine tikz-Grafiken für die Beschriftung verwenden und so die gebogenen Linien dazu bringen. Ich finde das aber ohne die Linien deutlich genug und schöner.

pgfplot: Überlappende y tick labels positionieren

von Orikson » Do 15. Okt 2015, 10:46

Ich mal wieder mit einem Problem zu einem Diagram. Bei diesem ist nahe der Nulllinie ein weiterer ytick mit dazugehörendem Label welches sich nun aber mit dem Null-Label überschneidet. Ich frage mich nun wie ich diese Labels am besten umpositioniere damit das eben nicht mehr passiert. Ein yshift verschiebt ja alle Beschriftungen nach unten und hilft genauso wenig wie eine Rotation. Die Schrift verkleinern möchte ich nicht da diese dann nicht mehr mit dem Rest übereinstimmt. Genauso kann ich xmin und xmax nicht verändern da sonst das Verhältnis der Werte nicht mehr passt...

Vor einiger Zeit habe ich schon eine Lösung zu diesem Problem gefunden. Da ich das Problem damals aber noch nicht hatte habe ich es nicht weiter angesehen und jetzt finde ich es natürlich auch nicht mehr... Die Lösung sah aber aus wie im angehängtem Bild bei welchem die Labels jeweils nach oben/unten verschoben werden und mit der Position im Diagram verbunden waren. Natürlich könnte ich das auch manuel einzeichnen, ich frage mich aber ob es dafür nicht eine automatische Lösung gibt.
\documentclass[a4paper]{scrreprt}

\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
	ymin = -1.5,
	ymax = 2.5,
	grid = major,
	ytick = {2, 0, -0.15, -1},
	yticklabels = {$2$, $0$, $0.15$, $-1$}
	]
	\addplot{x};
\end{axis}
\end{tikzpicture}

\end{document}
Dateianhänge
so soll es am Ende aussehen
so soll es am Ende aussehen
Bild1.jpg (21.47 KiB) 1149 mal betrachtet

Nach oben