Hilfslinien im Säulendiagramm

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: Hilfslinien im Säulendiagramm

von MoritzFranke » Do 8. Sep 2016, 16:46

Super, so solls sein! Besten Dank :-)

von esdd » Do 8. Sep 2016, 15:46

Du willst ganz sicher nicht `ybar interval` sondern `ybar`.
\documentclass[a4paper,12pt,twoside]{report} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage{siunitx} 
\usepackage{pgfplots} 
\pgfplotsset{ 
compat=1.12% aktuell wäre 1.14, aber das hat Overleaf noch nicht
}
\begin{document} 

\begin{tikzpicture} 
\begin{axis}[ 
height=10cm, 
width=16cm, 
enlargelimits=0.05,
enlarge x limits={abs=45pt},
legend style={ 
at={(0.5,-0.2)}, 
anchor=north, 
legend columns=-1 
}, 
ymin=300, 
ymax=310, 
x tick label style={/pgf/number format/1000 sep=}, 
x tick label style={rotate=45,anchor=east}, 
symbolic x coords={0,Choice1,Choice2,Choice3},
xtick={0,Choice1,Choice2,Choice3},
ylabel={Temperatur}, 
ybar,
bar width=20pt,
ytick={300,301,...,310},
ymajorgrids,
xminorgrids,
minor x tick num=1,
subtickwidth=0pt,
nodes near coords,
%nodes near coords style={font=\footnotesize},% in Version 1.12 noch nicht definiert
every node near coord/.append style={font=\footnotesize},
point meta=explicit symbolic,
] 
\addplot coordinates { 
(0,303)
(Choice1,305)[+3\%]
(Choice2,305)
(Choice3,305)
}; 
\addplot coordinates { 
(0,305)[] 
(Choice1,307) 
(Choice2,307)
(Choice3,307)
}; 
\addplot coordinates { 
(0,307) 
(Choice1,309) 
(Choice2,309) 
(Choice3,309) 
}; 
\addplot coordinates { 
(0,307) 
(Choice1,310) 
(Choice2,310) 
(Choice3,310) 
}; 

\legend{Versuch,grob,fein,feiner} 
\end{axis} 
\end{tikzpicture} 
\end{document}

Re: Hilfslinien im Säulendiagramm

von Bartman » Do 8. Sep 2016, 15:35

In Deinem Beitrag fehlt [/code] für die Hervorhebung Deines Beispiels.
MoritzFranke hat geschrieben:Nun möchte ich noch für jeden y Wert: 300, 301 ,302 ...bis 310 eine horizontale Hilfslinie zeichnen, wie kriege ich das denn hin?
Du könntest das optionale Argument ymajorgrids Deiner ersten axis-Umgebung hinzufügen.

pgfplots lädt tikz.

compat=1.9 ist nicht mehr aktuell.

Hilfslinien im Säulendiagramm

von MoritzFranke » Do 8. Sep 2016, 14:51

Hallo,

ich baue mir gerade nach einer Vorlage aus diesem Forum ein Säulendiagramm. Nun möchte ich noch für jeden y Wert: 300, 301 ,302 ...bis 310 eine horizontale Hilfslinie zeichnen, wie kriege ich das denn hin?

Ich dachte vielleicht mit:
%\foreach \y in {300,...,310}  %Hilfslinien
    %\draw[gray!50, text=black] (-0.2 cm,\x cm) -- (15.5 cm,\x cm) 
    % node at (-0.5 cm,\x cm) {\x};  %Beschriftung der Hilfslinien
Hier mein hoffentlich minimales Beispiel:

\documentclass[a4paper,12pt,twoside]{report} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel}
\usepackage{siunitx} 
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{tikz}
\usepackage{csvsimple}

\begin{document} 

\pgfplotsset{ 
   compat=1.9, 
   xlabel near ticks, 
   ylabel near ticks 
} 

\begin{tikzpicture} 
     \begin{axis}[ 
       height=10cm, 
       width=16cm, 
       enlargelimits=0.05, 
       legend style={ 
         at={(0.5,-0.2)}, 
         anchor=north, 
         legend columns=-1 
       }, 
       ymin=300, 
       ymax=310, 
       x tick label style={/pgf/number format/1000 sep=}, 
       x tick label style={rotate=45,anchor=east},
			 %x tick label style={font=\small,text width=1cm,align=center},
			 symbolic x  coords={0,Choice1,Choice2,Choice3},
       ylabel={Temperatur}, 
       ybar interval=0.7, 
       ytick={300,301,...,310} 
     ] 
       \addplot coordinates { 
         (0,303) 
         (Choice1,305) 
         (Choice2,305) 
         (Choice3,305) 
        
       }; 
			 
			\addplot coordinates { 
         (0,305) 
         (Choice1,307) 
         (Choice2,307) 
         (Choice3,307) 
        
       };
			
			 \addplot coordinates { 
         (0,307) 
         (Choice1,309) 
         (Choice2,309) 
         (Choice3,309) 
        
       };
			
			\addplot coordinates { 
         (0,307) 
         (Choice1,310) 
         (Choice2,310) 
         (Choice3,310) 
        
       };
        
       \legend{Versuch,grob,fein,feiner} 
   \end{axis} 
   \begin{axis}[ 
       height=10cm, 
       width=16cm, 
       enlargelimits=0.05, 
       ymin=300, 
       ymax=310, 
       ytick={300,301,...,310}, 
       hide x axis, 
       axis y line*=right, 
       ylabel={Temperatur in} 
     ] 
       \addplot[opacity=0]{300}; 
			
		%\foreach \y in {300,...,310}  %Hilfslinien
    %\draw[gray!50, text=black] (-0.2 cm,\x cm) -- (15.5 cm,\x cm) 
    % node at (-0.5 cm,\x cm) {\x};  %Beschriftung der Hilfslinien
     \end{axis} 
\end{tikzpicture} 


\end{document}
Zudem: Wie kann ich noch auf die Balken oder in die Balken Zahlen hineinschreiben? z.B. prozentual: +3% oder sowas?

Besten Dank und beste Grüße

euer Moritz

Nach oben