Diagramm mit Linien

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: Diagramm mit Linien

von Gast » Mi 1. Nov 2017, 22:53

Tip top, vielen Dank!

von Bartman » Mi 1. Nov 2017, 18:46

Versuche es mit der folgenden Änderung:
\begin{axis}[
	axis lines=left,
	ylabel=Anzahl (I),
	ylabel style={text=myorange2},
	yticklabel style={text=myorange2},
	xlabel=Jahr,
	xtick=data,
	xticklabel style={/pgf/number format/1000 sep=}
]

von Gast » Mi 1. Nov 2017, 18:27

Hallo Bartmann

Vielen Dank!

Nun noch eine letzte Frage, hoffe ich zumindest:
Ich habe die Beschriftungsfarbe geändert. Wie kann ich auch die Farbe der Zahlen ändern (zugehörige Zahlen zu I)?
Habe es leider nicht hinbekommen.
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest} 
\usetikzlibrary{arrows.meta}
\definecolor{myorange2}{rgb}{1,0.3,0}  
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{blindtext}
\usepackage{showframe}

\begin{document} 
\blindtext

	\begin{center} 
\begin{minipage}{\linewidth} 
\begin{tikzpicture} 
\pgfplotsset{ 
   set layers, 
   scale only axis, 
   width=.8\textwidth, 
   height=9cm 
} 
\pgfplotstableread{ 
Jahr          I      II 
{2008}      102      3 
{2009}     130    11 
{2010}      156      6 
{2011}      155      8 
{2012}      173      12 
{2013}      169    23 
{2014}      169      26 
{2015}      181      34 
}{\data} 

\begin{axis}[ 
  axis lines=left, 
  ylabel=\textcolor{myorange2}{Anzahl (I)},   
  xlabel={Jahr}, 
  xtick=data, 
  xticklabel style={/pgf/number format/1000 sep=} 
] 
\addplot [myorange2, mark=*] table [x=Jahr, y=I] {\data}; 
\end{axis} 
\begin{axis}[ 
  axis lines=right, 
  ylabel={Anzahl (II)},   
  xlabel={Jahr}, 
  axis x line=none 
] 
\addplot [mark=*] table [x=Jahr, y=II] {\data}; 
\end{axis} 
\end{tikzpicture} 
\captionof{figure}{Text} 
\end{minipage} 
\end{center} 

\blindtext
\end{document}

von Bartman » Mi 1. Nov 2017, 12:55

Anonymous hat geschrieben:Da die Anzahl von I viel grösser ist als bei II, würde ich gerne zwei y-Achsen (ein noch rechts) verwenden.
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest} 
\usetikzlibrary{arrows.meta}
\definecolor{myorange2}{rgb}{1,0.3,0}  
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{blindtext}
\usepackage{showframe}

\begin{document} 
\blindtext

\begin{center}
\begin{minipage}{\linewidth}
\begin{tikzpicture} 
\pgfplotsset{
	set layers,
	scale only axis,
	width=.8\textwidth,
	height=9cm
}
\pgfplotstableread{ 
Jahr          I      II 
{2008}      102      3
{2009}     130    11
{2010}      156      6
{2011}      155      8
{2012}      173      12
{2013}      169    23
{2014}      169      26
{2015}      181      34
}{\data}

\begin{axis}[ 
  axis lines=left, 
  ylabel={Anzahl (I)},  
  xlabel={Jahr}, 
  xtick=data,
  xticklabel style={/pgf/number format/1000 sep=}
] 
\addplot [myorange2, mark=*] table [x=Jahr, y=I] {\data};
\end{axis} 
\begin{axis}[ 
  axis lines=right, 
  ylabel={Anzahl (II)},  
  xlabel={Jahr}, 
  axis x line=none
] 
\addplot [mark=*] table [x=Jahr, y=II] {\data};
\end{axis} 
\end{tikzpicture} 
\captionof{figure}{Text}
\end{minipage}
\end{center}

\blindtext
\end{document}
Ich habe in meinem Beispiel grid=major absichtlich entfernt, weil ich die Anzeige für beide y-Achsen verwirrend finde.

von Gast » Mi 1. Nov 2017, 12:48

Da die Anzahl von I viel grösser ist als bei II, würde ich gerne zwei y-Achsen (ein noch rechts) verwenden.
Dabei soll die Linie von I sich nach der linken Achse und die Linie II nach der rechten Achse richten.

Natürlich müsste die linke Achse dann mit I und die rechte Achse mit II beschriftet werden.
Kann mir da jemand helfen?

von Gast » Mi 1. Nov 2017, 12:45

Vielen Dank für die Tipps. Das funktioniert soweit.
Da die Anzahl von I viel grösser ist als bei II, würde ich gerne zwei y-Achsen (ein noch rechts) verwenden.

Wie ist das möglich?
Habe es auf verschiedene Arten versucht, aber die Datei war dann nicht mehr lauffähig...

von markusv » Mi 1. Nov 2017, 10:09

Option xtick=data sollte das Problem (auch) beheben:
\documentclass[12pt,a4paper]{scrreprt}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest} 
\usetikzlibrary{arrows.meta}
\definecolor{myorange2}{rgb}{1,0.3,0}  
\usepackage{caption} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{blindtext}
\usepackage{showframe}

\begin{document} 
\blindtext

\begin{center}
\begin{minipage}{\linewidth}
\begin{tikzpicture} 

\pgfplotstableread{ 
Jahr          I      II 
{2008}      102      3
{2009}     130    11
{2010}      156      6
{2011}      155      8
{2012}      173      12
{2013}      169    23
{2014}      169      26
{2015}      181      34
}{\data}

\begin{axis}[ 
  width=.95\textwidth, 
  height=9cm,
  axis lines=left, 
  ylabel={Anzahl},  
  grid=major,
  xlabel={Jahr}, 
  xtick=data,% <- ergänzt
  xticklabel style={/pgf/number format/1000 sep=}
] 
\addplot [myorange2, mark=*] table [x=Jahr, y=I] {\data};
\addplot [mark=*] table [x=Jahr, y=II] {\data};
\end{axis} 
\end{tikzpicture} 
\captionof{figure}{Text}
\end{minipage}
\end{center}

\blindtext
\end{document}

von Beinschuss » Mi 1. Nov 2017, 09:56

Anonymous hat geschrieben:Wenn ich die Grafik in meine Arbeit übernehme, werden leider auch halbe Jahreszahlen angegeben. Also 2009.5, 2010.5 An was könnte das liegen?
Das kann ich reproduzieren, wenn ich z.B. die Dokumentklasse von report auf scrreprt ändere und dadurch die Textweite größer wird. Dadurch bekommt das Diagramm auch mehr Raum. Workaround: Passe den Wert für die Breite des Diagramms an, z.B.
  width=.85\textwidth,% <- geändert  

von Gast » Mi 1. Nov 2017, 07:56

Wenn ich die Grafik in meine Arbeit übernehme, werden leider auch halbe Jahreszahlen angegeben. Also 2009.5, 2010.5

An was könnte das liegen?

von Gast » Mi 1. Nov 2017, 07:49

Das sieht ja wunderbar aus! Vielen Dank für die rasche Hilfe. :)
Nun habe ich allerdings noch eine kleine Frage:
Da die Anzahl von I viel grösser ist als bei II, würde ich gerne zwei y-Achsen (ein noch rechts) verwenden.

Wie ist das möglich?
Habe es auf verschiedene Arten versucht, aber die Datei war dann nicht mehr lauffähig...

Nach oben