Seite 1 von 1

Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 10:50
von Teache

Gute Morgen liebes Forum,

ich denke meine Frage ist für einen wissenden ziemlich schnell zu beantworten. Ich möchte meine X-Achse in die Werte {10,100,1000,10000} unterteilen. Die Abstände zwischen diesen Werten sollen gleich bleiben. Sprich 10,20,30,40,50,60,70,80,90,100 dann 100,200,300,... und 1000,2000,3000... Im Minimalbeispiel sollen dann die Minorgrids alle den gleichen Abstand haben. Die logarithmische Skala gefällt mir nicht da Werte wie 8000 und 9000 zu nahe zusammengerückt, siehe Beispiel

Minimalbeispiel:

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}
\usepackage{pgfplots}

\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{semilogxaxis}[
 xbar stacked,
 width=0.5\textwidth, height=6cm,
 enlarge y limits=0.3,
 xlabel={Schnittgeschwindigkeit $v_{c}$},
 symbolic y coords={Aluminium,Guss, Stahl, Nickelbasislegierung},
ytick=data,
legend pos=outer north east,
	xmajorgrids,
	xminorgrids,
	xtick={10,100,1000,10000},
	xmin=10,xmax=10000,
	log ticks with fixed point,
]
 \addplot+ plot coordinates
  {(700,Aluminium) (500,Guss) (400,Stahl) (25,Nickelbasislegierung)};
  
\addplot+ plot coordinates {(2000,Aluminium) (450,Guss) (800,Stahl) (60,Nickelbasislegierung)};
\addplot+ plot coordinates {(7500,Aluminium) (6500,Guss) (5000,Stahl) (450,Nickelbasislegierung)};
\legend{Bereich der konventionellen Bearbeitung,Übergangsbereich,HSC-Bereich}
\end{semilogxaxis} \end{tikzpicture} \end{center} \end{document}

Vielen Dank für eure Hilfe, VG Teiche


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 11:53
von Grummelgast
Teache hat geschrieben:
Di 14. Sep 2021, 10:50

ich denke meine Frage ist für einen wissenden ziemlich schnell zu beantworten.

Noch schneller würde sie beantwortet, wenn du den Code korrekt als solchen markieren würdest, denn dann könnte man den Online-Editor/Compiler für die Erarbeitung der Antwort verwenden.

Teache hat geschrieben:
Di 14. Sep 2021, 10:50

Ich möchte meine X-Achse in die Werte {10,100,1000,10000} unterteilen. Die Abstände zwischen diesen Werten sollen gleich bleiben. Sprich 10,20,30,40,50,60,70,80,90,100 dann 100,200,300,... und 1000,2000,3000... Im Minimalbeispiel sollen dann die Minorgrids alle den gleichen Abstand haben. Die logarithmische Skala gefällt mir nicht da Werte wie 8000 und 9000 zu nahe zusammengerückt,

Bei einer nicht logarithmischen Skala werden allerdings die Werte 10 und 100 sehr nah beisammen liegen oder du bekommt ein horizontales Platzproblem.

Jedenfalls, wenn du keine logarithmische Skala haben willst, warum verwendest du dann semilogaxis?

BTW: Du solltest dich von der latin9-Codierung verabschieden. Praktisch alle aktuellen LaTeX-Editoren sind aus gutem Grund auf UTF8 voreingestellt. LaTeX ist seit 2018 ebenfalls auf UTF8 voreingestellt, so dass man bei Verwendung dieser Codierung gar kein \inputenc mehr benötigt. Andere Codierungen stellen eigentlich fast nur Anfänger ein, die sich auf eine stark veraltete LaTeX-Vorlage stützen.

Achja: Da du offenbar auf Deutsch schreibst, solltest du english durch ngerman ersetzen. Und nach dem Laden von pgfplots sollte man die Kompatibilität einstellen.


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 12:43
von Teache

Danke für deine Antwort.

Ja beim nächsten mal mache ich das gleich, bin neu hier. :)

Also ich hätte gerne meine komplette X-Achse in vier gleich große Bereiche geteilt (wie bei der log. Skalierung). Dabei sollen aber die Bereiche zwischen den von mir definierten Werten{10,100,1000,10000} jeweils gesondert geteilt sein. Gibt es da nicht eine Möglichkeit?

Die semilogxaxis verwende ich da dies erstmal am ehesten an meine Lösung kommt. Ich möchte jetzt nur noch die Zwischenschritte manipulieren. Ob es so irgendwie geht weiß ich noch nicht.


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 12:58
von Grummelgast

Sorry, ich glaube, ich verstehe die Frage nicht, verstehe also nicht, was am Ende rauskommen soll. Ich kann allenfalls noch darauf hinweisen, dass es auch noch minor ticks gibt. Siehe dazu beispielsweise xminorticks in der pgfplots-Anleitung. Ich bin mir aber nicht sicher, dass du tatsächlich danach suchst.

Vielleicht versteht ja jemand anders, was du willst.


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 13:17
von Teache

Ich habe hier mal eine kleine Veranschaulichung mit Paint gemacht. Anbei ist sie zu finden.
So soll die Achse eigentlich aufgeteilt sein. Der Abstand zwischen 10 bis 100, 100 bis 1000 und 1000 bis 10000 gleich. In den jeweiligen Bereichen sollen die Schrittweiten in 10er, 100er und 1000er betragen. Ich hoffe es ist nun deutlicher! :)

VG


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 13:35
von Grummelgast

Das könnte man zwar beispielsweise per xtick={10,20,...,100,200,...,1000,2000,...,10000} erreichen, aber für die ganzen Zahlen reicht schlicht der Platz nicht.


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 13:44
von Teache

Genau, das habe ich schon versucht.

Die logarithmische Skala bringt mir zumindest den groben Aufbau das es vom Platz her passt. Jetzt müssen nur noch die Minorticks (falls diese so heißen) nicht logarithmisch angetragen werden sondern gleichmäßig wie es sonst der Fall ist.


Re: Anpassung der Achsskalierung

Verfasst: Di 14. Sep 2021, 18:27
von esdd
Teache hat geschrieben:
Di 14. Sep 2021, 13:44

Die logarithmische Skala bringt mir zumindest den groben Aufbau das es vom Platz her passt. Jetzt müssen nur noch die Minorticks (falls diese so heißen) nicht logarithmisch angetragen werden sondern gleichmäßig wie es sonst der Fall ist.

Wenn Du nur die Minorticks anders anträgst, würden diese nicht mehr mit den Daten übereinstimmen. Du bräuchtest eine ganz neue axis Umgebung, die diese - vorsichtig formuliert extrem ungewöhnliche - Skalierung anbietet. Mit anderen Worten auch Deine Balken in dem Diagramm müssten ganz anders angetragen werden, würden also anders aussehen. Diese spezielle Skalierung müsstest Du dann außerdem in Deinem Dokument und eigentlich auch direkt an der Abbildung erläutern, damit das Diagramm nicht falsch interpretiert wird.

Wenn Dich nur die dichten Gitterlinien bzw. Minorticks stören, dann entferne diese.


Re: Anpassung der Achsskalierung

Verfasst: Fr 17. Sep 2021, 14:35
von Teache

Vielen Dank für die Antwort. Ich denke ich nehme einfach die Log. Skalierung. Anscheinend ist mein Wunsch doch nicht so einfach umzusetzen. Aber trotzdem Danke für eure Zeit!