Anpassung der Achsskalierung

Tabellen und Grafiken erstellen und anordnen


Teache
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Di 14. Sep 2021, 10:34

Anpassung der Achsskalierung

Beitrag 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

Zuletzt geändert von Stefan Kottwitz am Di 14. Sep 2021, 11:23, insgesamt 1-mal geändert.
Grund: Code markiert

Grummelgast

Re: Anpassung der Achsskalierung

Beitrag 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.


Teache
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Di 14. Sep 2021, 10:34

Re: Anpassung der Achsskalierung

Beitrag 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.


Grummelgast

Re: Anpassung der Achsskalierung

Beitrag 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.


Teache
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Di 14. Sep 2021, 10:34

Re: Anpassung der Achsskalierung

Beitrag 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

Dateianhänge
Beispiel.png
Beispiel.png (11.41 KiB) 503 mal betrachtet

Grummelgast

Re: Anpassung der Achsskalierung

Beitrag 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.


Teache
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Di 14. Sep 2021, 10:34

Re: Anpassung der Achsskalierung

Beitrag 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.

Dateianhänge
Soll.png

esdd
Forum-Meister
Forum-Meister
Beiträge: 2543
Registriert: So 7. Feb 2010, 16:36

Re: Anpassung der Achsskalierung

Beitrag 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.


Teache
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Di 14. Sep 2021, 10:34

Re: Anpassung der Achsskalierung

Beitrag 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!


Antworten