Horizontales Balkendiagramm

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: Horizontales Balkendiagramm

von pauabaer » Mo 16. Nov 2015, 12:57

esdd hat geschrieben:
yticklabel style={/pgf/number format/.cd,fixed, fixed zerofill,precision=1} 
Die Legendeneinträge werden den bei jedem Plot abgespeicherten Legendenbild zugeordnet. Die Reihenfolgen von Plots und Legendeneinträgen müssen deshalb auch übereinstimmen. Wenn man einen zusätzlichen Legendeneintrag möchte, muss an der entsprechenden Stelle in der Plotreihenfolge
\addlegendimage{<optionen>};
angegeben werden. Ich weiß nicht, was Du tun möchtest, aber möglich wäre zum Beispiel
\addlegendimage{empty legend};
oder
\addlegendimage{xbar legend,fill=red};
Danke.
esdd hat geschrieben: Nochmal: kannst Du Dir bitte anschauen, was der Status »Rückfrage« bedeutet?
Hmm..Scheinbar weiß ich nicht worauf du hinaus willst. :?

@Bartman
Ich hab den Befehl mit den zwei Nullen von einem Kollegen erhalten. Warum hier zwei stehen weiß ich nicht.

Danke für den Hinweis mit dem Argument 't'.

Ihr habt mir sehr geholfen. Vielen Dank!

Gruß
pauabaer

von Bartman » So 15. Nov 2015, 01:31

@pauabaer

Ich hätte da noch Fragen zu Deinem Beispiel:
y axis line style = { opacity = 00 },
Es mag unwichtig erscheinen, aber warum zwei Nullen?

Du setzt in den Beschriftungen der beiden subfigure-Umgebungen in dem Wort "Wirkstoffdosierung" einen eigenen Trennstrich und erzwingst einen Zeilenumbruch. Stattdessen könntest Du die Trennstriche und Zeilenumrüche entfernen und bei den subfigure-Umgebungen das optionale Argument b durch t ersetzen.

von esdd » Sa 14. Nov 2015, 21:09

pauabaer hat geschrieben: Gibt es die Möglichkeit die Metallseifendosierung auf der y-Anzeige (0 und 1) mit einer Nachkommastelle zu versehen
yticklabel style={/pgf/number format/.cd,fixed, fixed zerofill,precision=1} 
pauabaer hat geschrieben:einen fünften EIntrag in der Legende einfügen? Wenn ich ein weiteren Eintrag hinzufüge werden trotzdem nur 4 angezeigt..
Die Legendeneinträge werden den bei jedem Plot abgespeicherten Legendenbild zugeordnet. Die Reihenfolgen von Plots und Legendeneinträgen müssen deshalb auch übereinstimmen. Wenn man einen zusätzlichen Legendeneintrag möchte, muss an der entsprechenden Stelle in der Plotreihenfolge
\addlegendimage{<optionen>};
angegeben werden. Ich weiß nicht, was Du tun möchtest, aber möglich wäre zum Beispiel
\addlegendimage{empty legend};
oder
\addlegendimage{xbar legend,fill=red};
Gruß
Elke

PS:
pauabaer hat geschrieben:
esdd hat geschrieben: PS: Schau Dir bitte mal an, was der Status »Rückfrage« bedeutet.
Alles klar. Habe ich total übersehen!
Nochmal: kannst Du Dir bitte anschauen, was der Status »Rückfrage« bedeutet?

von pauabaer » Fr 13. Nov 2015, 19:33

Genau so! :) Vielen Dank!!
esdd hat geschrieben: PS: Schau Dir bitte mal an, was der Status »Rückfrage« bedeutet.
Alles klar. Habe ich total übersehen!

EDIT:
Gibt es die Möglichkeit die Metallseifendosierung auf der y-Anzeige (0 und 1) mit einer Nachkommastelle zu versehen und einen fünften EIntrag in der Legende einfügen? Wenn ich ein weiteren Eintrag hinzufüge werden trotzdem nur 4 angezeigt..

Gruß
pauabaer

von esdd » Fr 13. Nov 2015, 16:23

Also ungefähr so etwas wie
\documentclass[ 
    BCOR=12mm,            % Bindekorrektur: bei Buch normalerweise 12mm 
    twoside=false,            % Layout für beidseitigen Druck 
    headsepline,               % Kopfzeile mit horizontaler Liniel 
    parskip=half,               % Absatzeinzug (Standard), half: kein Einzug, Halber Zeilenabstand, ... 
    captions=tableheading,         % korrekte Abstände bei Tabellenüberschriften 
    ]{scrbook}      % aus Komascript für Bücher 

\usepackage[ngerman]{babel}          % deutschsprachig, silbentrennung 
\usepackage[utf8]{inputenc}          % Eingabe von Sonderzeichen 
\usepackage[T1]{fontenc}          % Schriftkodierung, Silbentrennung für Wörter mit Umlauten 
\usepackage{lmodern}             % ändert die Standardschriftart zu Latin Modern 
\usepackage{microtype}             % bessere Umbruchpunkte, verändert Buchstabenbreite um bis zu 2% bzw mit 
\usepackage{setspace}             % Zeilenabstand 
\onehalfspacing                % 1,5 Zeilen 
\usepackage[left=30mm,right=21mm,top=32mm,bottom=38mm]{geometry} 


\usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash]{caption}      % Abbildungsbezeichnung 
\usepackage{subcaption}                     % ermöglicht Einzelbidbezeichnung 

\usepackage{pgfplots}            % Paket für Diagramme 
\pgfplotsset{compat=newest, 
          /pgf/number format/.cd, use comma} 
\pgfplotscreateplotcyclelist{mylist}{% 
    black,mark=*\\% 
    every mark/.append style={fill=black!100!black},mark=square*\\% 
    black, dashed, every mark/.append style={fill=black!100!black},mark=*\\% 
    black, dashed, every mark/.append style={fill=black!100!black},mark=square*\\% 
} 

\usepackage{siunitx}

\begin{document} 
\begin{figure}[htbp]
    \centering 
    \ref{metallseife}
    \begin{subfigure}[b]{0.53\linewidth} 
       \centering 
       \begin{tikzpicture} [trim axis left]
       \begin{axis}[node font=\normalsize, 
       height=1.1*\axisdefaultheight, 
       width=.62*\axisdefaultwidth,
       scale only axis,
       xbar,
       xmin=0,
       axis x line=none, 
       ylabel=Metallseifendosierung in \%, 
       y axis line style = { opacity = 00 },     
       tickwidth         = 0pt, 
       enlarge y limits  = 0.3, 
       enlarge x limits  = 0.02, 
       ytick=data,
       nodes near coords, 
       reverse legend,
       legend to name=metallseife,
       legend columns=-1,
       legend style={draw=none,font=\footnotesize}
       ] 
       \addplot [fill=white] coordinates { ( 312,0) (52,0.5) (74,1) }; 
       \addplot [fill=gray!40] coordinates { ( 312,0) (91,0.5) (93,1) }; 
       \addplot [fill=gray] coordinates { ( 312,0) (79,0.5) (82,1) }; 
       \addplot [fill=black!85] coordinates { (312,0) ( 195,0.5) ( 76,1)}; % Änderung der Füllfarbe 
        \legend{LIGAPHOB ZN101 Plus, LIGA Calciumstearat 860\hspace*{2ex}, Zinkstearat 101\hspace*{2ex}, LIGAPHOB ZN 502\hspace*{2ex}}
       \end{axis} 
       \end{tikzpicture} 
       \caption{Druckfestigkeit bei 2\%-iger Wirkstoff-\newline dosierung} 
       \label{fig:WAOberfl} 
    \end{subfigure}%
    \hfil 
    \begin{subfigure}[b]{0.46\linewidth} 
       \centering 
       \begin{tikzpicture}[trim axis left] 
       \begin{axis}[ 
       height=1.1*\axisdefaultheight, 
       width=.62*\axisdefaultwidth,
       scale only axis, 
       xbar,
       xmin=0,
       axis x line=none, 
       y axis line style = { opacity = 00 },     
       tickwidth         = 0pt, 
       enlarge y limits  = 0.3, 
       enlarge x limits  = 0.02, 
       ytick=\empty,
       nodes near coords, 
       ] 
       \addplot [fill=white] coordinates { ( 358,0) (189,0.5) (148,1) }; 
       \addplot [fill=gray!40] coordinates { ( 358,0) (212,0.5) (222,1) }; 
       \addplot [fill=gray] coordinates { ( 358,0) (192,0.5) (179,1) }; 
       \addplot [fill=black!85] coordinates { (358,0) ( 189,0.5) ( 171,1)}; % Änderung der Füllfarbe 
       \end{axis} 
       \end{tikzpicture} 
       \caption{Druckfestigkeit bei 4\%-iger Wirkstoff-\newline dosierung} 
       \label{fig:WA5mm} 
    \end{subfigure} 
    \caption[Druckfestigkeiten von silanbasierten Proben im Vergleich]{Druckfestigkeiten von silanbasierten Proben im Vergleich} 
    \label{fig:MetallseifenWA} 
\end{figure} 
\end{document}
Gruß
Elke

PS: Schau Dir bitte mal an, was der Status »Rückfrage« bedeutet.

Bild
Dateianhänge
gl_xbarplot.png
gl_xbarplot.png (12.98 KiB) 2139 mal betrachtet

von pauabaer » Do 12. Nov 2015, 17:02

Also ersteres werde ich anders lösen. Werde nur einen Eintrag in einer anderen Farbe machen. Soweit so gut..

Für das integrieren beider Diagramme als Subfigures habe ich folgendes Minimalbeispiel:
\documentclass[
	paper=A4,					% A4 Seite
	pagesize=auto,				% Setzen der korrektern Papiergröe für Ausgabemedien
	fontsize=11pt,				% Schriftgröße
	BCOR=12mm,				% Bindekorrektur: bei Buch normalerweise 12mm
	twoside=false,				% Layout für beidseitigen Druck
	headsepline,					% Kopfzeile mit horizontaler Liniel
	toc=listof,					% Tabellen/Abbildungs-Verzeichnisse im Inhaltsverzeichnis aufführen
	toc=bibliography,				% Literaturverzeichnis im Inhaltsverzeichnis ohne Nummer (mit Nummer: bibliographynumbered)	
	toc=chapterentrywithdots, 		% punktierte Linie bei Kapiteln, alternativ toc=chapterentrywithoutdots
	toc=sectionentrywithdots, 		% punktierte Linie bei Sections, alternativ toc=sectionentrywithoutdots
	headings=normal, 				% kleinere Überschriften + Abstände vor und nach Kapitelüberschriften
	parskip=half,					% Absatzeinzug (Standard), half: kein Einzug, Halber Zeilenabstand, ...
	captions=tableheading,			% korrekte Abstände bei Tabellenüberschriften
				]{scrbook}		% aus Komascript für Bücher
	

%%%%%%%%%% Sprache und Schriftbild %%%%%%%%%%

%\usepackage{ucs}					% wofür ist das?
\usepackage[ngerman]{babel} 			% deutschsprachig, silbentrennung
\usepackage[utf8]{inputenc} 			% Eingabe von Sonderzeichen
\usepackage[T1]{fontenc} 			% Schriftkodierung, Silbentrennung für Wörter mit Umlauten
\usepackage{lmodern} 				% ändert die Standardschriftart zu Latin Modern
\addtokomafont{disposition}{\rmfamily}		% Einheitliche Schriftart
\usepackage{microtype} 				% bessere Umbruchpunkte, verändert Buchstabenbreite um bis zu 2% bzw mit [stretch=10] 1%
\usepackage{setspace} 				% Zeilenabstand
\onehalfspacing 					% 1,5 Zeilen
%\setstretch{1,2381} 				% 1,3 Zeilen
\usepackage{xspace}				% Korrigiert Leerzeichen


%%%%%%%%%% Seitenlayout %%%%%%%%%%

\usepackage[left=30mm,right=21mm,top=32mm,bottom=38mm]{geometry}
\usepackage[headsepline]{scrpage2}		% Kopf- und Fußzeilen
\clearscrheadfoot 						% löscht alle bisherigen Kopf- und Fußzeilen
\pagestyle{scrheadings} 				% Seitenstil scrheadings verwenden
\renewcommand*{\chapterheadstartvskip}{\vspace*{-40pt}}	% Abstand: Oberkante - Kapitelüberschrift
\ihead{\leftmark}					% setzt Kopfzeile (chapterangabe)
\ofoot[-\,\pagemark\,-]{-\,\pagemark\,-}	% setzt Fußzeile [] -> chapterseiten; {} -> alle anderen Seiten
\usepackage{chngcntr}				% Fortlaufende Nummerierung
\counterwithout{footnote}{chapter}		% Fortlaufende Fußnoten
\counterwithout{figure}{chapter}		% Fortlaufende Abbildungen
\counterwithout{table}{chapter}			% Fortlaufende Tabellen
\usepackage{ellipsis}				% Korrigiert den Weißraum um Auslassungspunkte



%%%%%%%%%%% Gleitobjekte: Abbildungen / Diagramme %%%%%%%%%%%%%

\usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash]{caption}		% Abbildungsbezeichnung
\renewcommand{\figurename}{Abbildung}							% Abbildung statt figure
\usepackage{graphicx}							% Einbinden von Grafiken
\graphicspath{ {02_Abbildungen/} }
\usepackage{subcaption}							% ermöglicht Einzelbidbezeichnung
\usepackage{wrapfig}							% Grafik in Umgebung einbeten
\usepackage{pgfplots}				% Paket für Diagramme
\pgfplotsset{compat=newest,
			/pgf/number format/.cd, use comma}
\pgfplotscreateplotcyclelist{mylist}{%
	black,mark=*\\%
	every mark/.append style={fill=black!100!black},mark=square*\\%
	black, dashed, every mark/.append style={fill=black!100!black},mark=*\\%
	black, dashed, every mark/.append style={fill=black!100!black},mark=square*\\%
}
\usepackage{tikz}					% ermöglicht die Gestaltung eigener Grafiken/ Abbildungen/ Diagramme


 
%%%%%%%%%% Mathe %%%%%%%%%%

\usepackage{amsmath}				% Mathemodus 
\usepackage{amssymb}				% Symbole, Sonderzeichen
\usepackage{siunitx} 				%  commands like \num for typesetting numbers in all sorts of ways and \si for units (\SI{10}{\hertz})

\begin{document}
\begin{figure}[!h]
	\centering
	\begin{subfigure}[b]{0.53\linewidth}
		\centering
		\begin{tikzpicture}
		\begin{axis}[node font=\normalsize,
		height=1.3*\axisdefaultheight,
		width=\axisdefaultwidth,
		xbar,              
		axis x line=none,
		%axis y line=left, 
		ylabel=Metallseifendosierung in \%,
		y axis line style = { opacity = 00 },     
		tickwidth         = 0pt,
		enlarge y limits  = 0.5,
		enlarge x limits  = 0.02,
		%symbolic y coords = {0, 0.5, 1},
		ytick=data, % verringert die vier Einträge auf zwei
		nodes near coords,
		reverse legend,
		legend style={
			draw=none,
			legend cell align=left,
			at={(1,1)},
			xshift=0cm,
			yshift=-2cm,
			anchor=west
		}
		]
		\addplot [fill=white] coordinates { ( 312,0) (52,0.5) (74,1) };
		\addplot [fill=gray!40] coordinates { ( 312,0) (91,0.5) (93,1) };
		\addplot [fill=gray] coordinates { ( 312,0) (79,0.5) (82,1) };
		\addplot [fill=black!85] coordinates { (312,0) ( 195,0.5) ( 76,1)}; % Änderung der Füllfarbe
		\legend{LIGAPHOB ZN101 Plus, LIGA Calciumstearat 860, Zinkstearat 101, LIGAPHOB ZN 502}
		\end{axis}
		\end{tikzpicture}
		\caption{Druckfestigkeit bei 2\%-iger Wirkstoff-\newline dosierung}
		\label{fig:WAOberfl}
	\end{subfigure}
	\hfil
	\begin{subfigure}[b]{0.46\linewidth}
		\centering
		\begin{tikzpicture}
		\begin{axis}[
		height=1.3*\axisdefaultheight,
		width=\axisdefaultwidth,
		xbar,              
		axis x line=none,
		%axis y line=left, 
		%ylabel=Metallseifendosierung in \%,
		y axis line style = { opacity = 00 },     
		tickwidth         = 0pt,
		enlarge y limits  = 0.5,
		enlarge x limits  = 0.02,
		%symbolic y coords = {0, 0.5, 1},
		ytick=data, % verringert die vier Einträge auf zwei
		nodes near coords,
		%		reverse legend,
		%		legend style={
		%			draw=none,
		%			legend cell align=left,
		%			at={(1,1)},
		%			xshift=0cm,
		%			yshift=-2cm,
		%			anchor=west
		%		}
		]
		\addplot [fill=white] coordinates { ( 358,0) (189,0.5) (148,1) };
		\addplot [fill=gray!40] coordinates { ( 358,0) (212,0.5) (222,1) };
		\addplot [fill=gray] coordinates { ( 358,0) (192,0.5) (179,1) };
		\addplot [fill=black!85] coordinates { (358,0) ( 189,0.5) ( 171,1)}; % Änderung der Füllfarbe
		%\legend{LIGAPHOB ZN101 Plus, LIGA Calciumstearat 860, Zinkstearat 101, LIGAPHOB ZN 502}
		\end{axis}
		\end{tikzpicture}
		\caption{Druckfestigkeit bei 4\%-iger Wirkstoff-\newline dosierung}
		\label{fig:WA5mm}
	\end{subfigure}
	\caption[Druckfestigkeiten von silanbasierten Proben im Vergleich]{Druckfestigkeiten von silanbasierten Proben im Vergleich}
	\label{fig:MetallseifenWA}
\end{figure}
\end{document}
- Die Legende sollte oberhalb mittig sein, genau.
- Zudem stört mich noch das die Zahlen der untersten Balken rechts über den Rand ragen.
- könnte ich auf die y-Achsen-Bezeichnungen (symbolic y coords) verzichten..

Ist das zu realisieren?

Gruß
pauabaer
Dateianhänge
Metallseifen_WA_nebeneinander.png
Metallseifen_WA_nebeneinander.png (20.6 KiB) 2148 mal betrachtet

von esdd » Do 12. Nov 2015, 15:11

pauabaer hat geschrieben: Wenn ich im Datensatz nun zwei gleiche Werte (siehe Minimalbeispiel) habe, kann ich dann nur eine node und diese mittig einsetzen?
Automatisch dürfte das, wenn überhaupt, nur mit sehr großem Aufwand realisierbar sein. Du kannst den Wert allerdings auf dem gleichen Weg von der Ausgabe ausnehmen und statt dessen noch in der axis Umgebung eine Koordinate setzen, an der Du dann außerhalb von axis einen Node mit gewünschtem Inhalt einfügst. Ob der Aufwand im Verhältnis zum Nutzen steht, musst Du selbst beurteilen.

Zu der anderen Frage: Wenn die Diagramme nebeneinander stehen sollen, dann mache bitte ein Minimalbeispiel mit Deiner echten Klasse. Dann darf auch zwischen den beiden keine Leerzeile stehen ;-) Wie soll die Legende denn dann ausgerichtet sein? Zentriert?

von pauabaer » Do 12. Nov 2015, 14:01

Dann hätte ich noch eine Frage.
Hab auf Grundlage deiner Vorlage zwei weitere Balkendiagramme erstellt. Die möchte ich gerne als Abbildungen nebeneinander in die Arbeit integrieren (siehe Anhang).

Wie bekomme ich die Legende oberhalb der beiden Abbildungen und die einzelnen Einträge nebeneinander?
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}

\pgfplotsset{
	compat=newest,
	/pgf/number format/.cd, use comma
}

\begin{document}
	\begin{tikzpicture}
	\begin{axis}[node font=\normalsize,
	height=1.3*\axisdefaultheight,
	width=\axisdefaultwidth,
	xbar,              
	xtick={0,50,...,500},
	axis x line=none,
	%axis y line=left, 
	ylabel=Metallseifendosierung in \%,
	y axis line style = { opacity = 00 },     
	tickwidth         = 0pt,
	enlarge y limits  = 0.5,
	enlarge x limits  = 0.02,
	symbolic y coords = {0, 0.5, 1},
	ytick=data, % verringert die vier Einträge auf zwei
	nodes near coords,
	reverse legend,
	legend style={
		draw=none,
		legend cell align=left,
		at={(1,1)},
		xshift=0cm,
		yshift=-2cm,
		anchor=south
	}
	]
	\addplot [fill=white] coordinates { ( 312,0) (52,0.5) (74,1) };
	\addplot [fill=gray!40] coordinates { ( 312,0) (91,0.5) (93,1) };
	\addplot [fill=gray] coordinates { ( 312,0) (79,0.5) (82,1) };
	\addplot [fill=black!85] coordinates { (312,0) ( 195,0.5) ( 76,1)}; % Änderung der Füllfarbe
	\legend{LIGAPHOB ZN101 Plus, LIGA Calciumstearat 860, Zinkstearat 101, LIGAPHOB ZN 502}
	\end{axis}
	\end{tikzpicture}
	
	\begin{tikzpicture}
	\begin{axis}[
	height=1.3*\axisdefaultheight,
	width=\axisdefaultwidth,
	xbar,              
	xtick={0,50,...,500},
	axis x line=none,
	%axis y line=left, 
	ylabel=Metallseifendosierung in \%,
	y axis line style = { opacity = 00 },     
	tickwidth         = 0pt,
	enlarge y limits  = 0.5,
	enlarge x limits  = 0.02,
	symbolic y coords = {0, 0.5, 1},
	ytick=data, % verringert die vier Einträge auf zwei
	nodes near coords,
	reverse legend,
	%legend style={
		%draw=none,
		%legend cell align=left,
		%at={(1,1)},
		%xshift=0cm,
		%yshift=-2cm,
		%anchor=south west
	%}
	]
	\addplot [fill=white] coordinates { ( 358,0) (189,0.5) (148,1) };
	\addplot [fill=gray!40] coordinates { ( 358,0) (212,0.5) (222,1) };
	\addplot [fill=gray] coordinates { ( 358,0) (192,0.5) (179,1) };
	\addplot [fill=black!85] coordinates { (358,0) ( 189,0.5) ( 171,1)}; % Änderung der Füllfarbe
	%\legend{LIGAPHOB ZN101 Plus, LIGA Calciumstearat 860, Zinkstearat 101, LIGAPHOB ZN 502}
	\end{axis}
	\end{tikzpicture}
\end{document}
Gibt es die Möglichkeit die "symbolic y coords" des zweiten Diagramms auszublenden?
Gruß
pauabaer
Dateianhänge
Horizontale Balken nebeneinander.png
Horizontale Balken nebeneinander.png (10.39 KiB) 4036 mal betrachtet

von pauabaer » Do 12. Nov 2015, 11:29

Hi Elke! Besten Dank. Genauso wollte ich es ursprünglich. Super!

Danke auch für die einzelnen Befehle.

Jetzt hab ich noch eine Frage.
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}

\pgfplotsset{
    compat=newest,
    /pgf/number format/.cd, use comma
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    height=.5*\axisdefaultheight,
    width=\axisdefaultwidth,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
    enlarge y limits  = .4,
    enlarge x limits  = 0.02,
    symbolic y coords = {Wittmann et. al, Zhao et. al},
    ytick=data,
    nodes near coords={\ifdim \pgfplotspointrawx pt=0pt keine Angabe \else \pgfmathprintnumber{\pgfplotspointrawx}\fi},
    every axis plot/.append style={visualization depends on= rawx \as \pgfplotspointrawx},
    reverse legend,
    /pgf/number format/fixed,
    /pgf/number format/zerofill,
    /pgf/number format/precision=2,
    legend style={
       draw=none,
       legend cell align=left,
       at={(1,1)},
       xshift=-2.5cm,
       anchor=south west
    },
]
\addplot [fill=black]   coordinates { (134.2,Wittmann et. al) (  0,Zhao et. al) };
\addplot [fill=gray!40] coordinates { ( 134.2,Wittmann et. al) (134,Zhao et. al) }; % Habe den Wert gleichgesetzt
\legend{Referenzbeton, Protectosil MH50 (\SI{2}{\percent})}
\end{axis}
\end{tikzpicture}
\end{document}
Wenn ich im Datensatz nun zwei gleiche Werte (siehe Minimalbeispiel) habe, kann ich dann nur eine node und diese mittig einsetzen? Sonst wirkt das überladen mit den gleichen Werten..

Gruß
pauabaer
Dateianhänge
Horizontales Balkendiagramm.png
Horizontales Balkendiagramm.png (7.64 KiB) 4024 mal betrachtet

von esdd » Do 12. Nov 2015, 09:29

Das Zeichnen der ytick kannst Du mit
ytick style={draw=none}
verhindern.

Den Abstand der Balken zur x-Achse kannst Du verringern, in dem Du die Höhe verkleinerst
height=.6*\axisdefaultheight,
width=\axisdefaultwidth,
und enlarge y limits kleiner wählst
enlarge y limits  = .4,
Dann musst Du aber dafür die Legende etwas weiter oben positionieren.
\documentclass{standalone} 
\usepackage{pgfplots}
\usepackage{siunitx} 

\pgfplotsset{ 
    compat=newest, 
    /pgf/number format/.cd, use comma 
} 

\begin{document} 
    \begin{tikzpicture} 
    \begin{axis}[ 
    height=.6*\axisdefaultheight,
    width=\axisdefaultwidth,
    xbar, 
    xtick={0,30,...,150}, 
    axis x line       = bottom, 
    y axis line style = { opacity = 0 }, 
    ytick style={draw=none},
    enlarge y limits  = .4, 
    enlarge x limits  = 0.02, 
    symbolic y coords = {Wittmann et. al, Zhao et. al}, 
    ytick=data, % verringert die vier Einträge auf zwei 
    %nodes near coords, 
    reverse legend, 
    /pgf/number format/fixed, 
    %/pgf/number format/zerofill, 
    %/pgf/number format/precision=2, 
    legend style={ 
       draw=none, 
       legend cell align=left, 
       at={(1,1)}, 
       xshift=-2.5cm, 
       anchor=south west 
    }
    ] 
    \addplot [fill=black]   coordinates { (134.2,Wittmann et. al) (  0,Zhao et. al) }; % Änderung der Füllfarbe 
    \addplot [fill=gray!40] coordinates { ( 43.9,Wittmann et. al) (134,Zhao et. al) }; 
    \legend{Referenzbeton, Protectosil MH50 (\SI{2}{\percent})} 
    \end{axis} 
    \end{tikzpicture} 
\end{document}
Aber wenn ich es richtig sehe, willst Du die x-Achse gar nicht, sondern suchst vermutlich etwas wie
nodes near coords={\ifdim \pgfplotspointrawx pt=0pt keine Angabe \else \pgfmathprintnumber{\pgfplotspointrawx}\fi},
every axis plot/.append style={visualization depends on= rawx \as \pgfplotspointrawx},
Wobei man den Platz unterhalb der Balken trotzdem verringern sollte. Also beispielsweise
\documentclass{standalone} 
\usepackage{pgfplots} 
\usepackage{siunitx} 

\pgfplotsset{ 
    compat=newest, 
    /pgf/number format/.cd, use comma 
} 

\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
    height=.5*\axisdefaultheight,
    width=\axisdefaultwidth,
    xbar, 
    y axis line style = { opacity = 0 }, 
    axis x line       = none, 
    tickwidth         = 0pt, 
    enlarge y limits  = .4, 
    enlarge x limits  = 0.02, 
    symbolic y coords = {Wittmann et. al, Zhao et. al}, 
    ytick=data, 
    nodes near coords={\ifdim \pgfplotspointrawx pt=0pt keine Angabe \else \pgfmathprintnumber{\pgfplotspointrawx}\fi},
    every axis plot/.append style={visualization depends on= rawx \as \pgfplotspointrawx},
    reverse legend, 
    /pgf/number format/fixed, 
    /pgf/number format/zerofill, 
    /pgf/number format/precision=2, 
    legend style={ 
       draw=none, 
       legend cell align=left, 
       at={(1,1)}, 
       xshift=-2.5cm, 
       anchor=south west 
    },
] 
\addplot [fill=black]   coordinates { (134.2,Wittmann et. al) (  0,Zhao et. al) }; 
\addplot [fill=gray!40] coordinates { ( 43.9,Wittmann et. al) (134,Zhao et. al) }; 
\legend{Referenzbeton, Protectosil MH50 (\SI{2}{\percent})} 
\end{axis} 
\end{tikzpicture} 
\end{document}
Gruß
Elke

Bild
Dateianhänge
gl_nodesnearcoords.png
gl_nodesnearcoords.png (12.39 KiB) 4025 mal betrachtet

Nach oben