tikzpicture keine Ticks auf der x-Achse Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


FragePeter

tikzpicture keine Ticks auf der x-Achse

Beitrag von FragePeter »

Hallo,

ich schaffe es nicht die doppelten Ticks auf der x-Achse wegzubekommen:
\documentclass[11pt]{article} 
\usepackage[T1]{fontenc} 
\usepackage{pgfplots} 

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        domain=-20:40,
        xmin=-20, xmax=40,
        ymin=20, ymax=30,
        samples=400,
        grid = major,
        xlabel = {Außentemperatur },
		  xtick={-20, -10, 0, 10, 20, 30, 40},
        axis y line=left,
        ylabel = {Innentemperatur},
        y unit=\si{\celsius},				        ]
     \addplot+[mark=none] {24.916-0.1145*\x+ 0.0035*\x*\x+\x*\x*\x*0.00007};
		\addplot+[mark=none] {22.888-0.179*\x+ 0.0042*\x*\x+\x*\x*\x*0.00001};
    \end{axis}

    \begin{axis}[
        yticklabel pos=right,% yticklabel auf der rechten Seite
				axis y line=right,
        ylabel = {Luftdurchsatz},
        ymin=0, ymax=10,
			xtick=\empty,	
      ]
		\end{axis}
		
  \end{tikzpicture}

\end{document}
Weiß jemand wieso der empty Befehl nicht akzeptiert wird auf der x-Achse? Hier gibt es doppelte Beschriftungen. Zudem schaffe ich es nicht eine Einheit über y unit=... hinzuzufügen.

Vielleicht kann ja jemand helfen, vielen Dank!

Peter

Stamm-

Kleine Anpassungen

Beitrag von Stamm- »

Zunächst einmal läuft dein Beispiel nicht, weil Du vergessen hast, die Bibliothek units von »pgfplots« und das Paket »siunitx« einzubinden. Wenn ich das mache und dann in der zweiten axis-Umgebung xtick=\empty durch axis x line=none ersetze, sieht das Ergebnis aus wie gewünscht. Es passt in diesem Fall übrigens besser, axis y line* statt axis y line zu nehmen.

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

Beitrag von esdd »

Du müsstest mit dem Beispiel eine Warnung bekommen:
Package pgfplots Warning: You have an axis with empty range (in direction x). R
eplacing it with a default range and clearing all plots.
Deine zweite axis Umgebung enthält keinen Plot und auch keine sonstigen Angaben, die den Bereich für die x-Werte vorgeben. Du musst in der zweiten Umgebung also entweder einen Plot einfügen oder die Randbedingungen für die Achseneinteilung in den Optionen vorgeben.

Wenn beide Umgebungen dieselbe x-Achse-Einteilung verwenden sollen, dann übernimm xmin=-20, xmax=40.

vom ersten Plot auch für den zweiten. Damit funktioniert dann das von Stammgast vorgeschlagene axis x line*=none. Auch xtick=\empty würde dann die Ausgabe der Label verhindern, aber die Ticks würden unnötigerweise doppelt gezeichnet.

Mit den Hinweisen von Stammgast:

\documentclass[11pt]{article} 
 \usepackage[T1]{fontenc} 
 \usepackage[utf8]{inputenc}
 \usepackage{siunitx}
 \usepackage{pgfplots}
 \pgfplotsset{compat=newest}% aktuell ist 1.13; Overleaf hat noch 1.12
 \usepgfplotslibrary{units}
 
 \begin{document} 
 \begin{tikzpicture}

 \begin{axis}[ 
 domain=-20:40, 
 xmin=-20, xmax=40, 
 ymin=20, ymax=30, 
 samples=400, 
 grid = major, 
 xlabel = {Außentemperatur }, 
 xtick={-20, -10, 0, 10, 20, 30, 40}, 
 axis y line*=left, 
 ylabel = {Innentemperatur}, 
 y unit=\si{\celsius},
 ] 
 \addplot+[mark=none] {24.916-0.1145*\x+ 0.0035*\x*\x+\x*\x*\x*0.00007}; 
 \addplot+[mark=none] {22.888-0.179*\x+ 0.0042*\x*\x+\x*\x*\x*0.00001}; 
 \end{axis} 
 
 \begin{axis}[ 
 yticklabel pos=right,
 axis y line*=right, 
 ylabel = {Luftdurchsatz}, 
 ymin=0, ymax=10, 
 axis x line*=none,
 xmin=-20, xmax=40% <- Bereich für x-Achse vorgeben
 ] 
 \end{axis} 
 
 \end{tikzpicture} 
 \end{document} 

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

@FragePeter

Wenn ich den Beitrag von Jake zu "Get default colored plots with 'no markers' command in pgfplots" richtig verstehe, darfst Du die Option mark=none und das + bei Deinen \addplot-Befehlen weglassen und stattdessen Deiner axis-Umgebung ein no markers hinzufügen.

Antworten