Säulendiagremm ohne Umrandung der Symbole in Legende

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: Säulendiagremm ohne Umrandung der Symbole in Legende

von chris_Waechter » Fr 15. Aug 2014, 09:48

Vielen Dank! Habe deinen ersten Vorschlag angewandt und funktioniert super! :D

von esdd » Do 14. Aug 2014, 17:02

Die einfachste Möglichkeit ist die Umrandung in der gleichen Farbe wie die Füllung zu zeichnen.

Du hast in dem Beispiel aber ein Problem mit der Balkenbreite. Mir ist jetzt nicht klar, ob die orangenen Balken auf oder neben den blauen sein sollen. In Deinem Code sind sie versetzt und überlagern sich.
\documentclass[12pt]{scrreprt} 

\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[english, ngerman]{babel} 

\usepackage{pgfplots} 
\pgfplotsset{compat=newest, 
           width = 0.8\textwidth, 
           height = 0.4\textheight, 
           %every axis/.append style = {every node/.style = {{yshift = -8pt}, sloped}}, 
           %every x tick label/.append style = {text height = 2ex}, 
           every tick/.append style = {scaled ticks = true}, 
           every axis legend/.append style={at = {(0.5,1.05)}, 
                                    anchor = south, 
                                    legend columns = -1, 
                                    no markers, 
                                    nodes = {right, inner xsep=5pt}, 
                                    %shape = rectangle, 
                                    %fill = white
                                    }, 
           ybar/.append style = {every axis plot/.append style={fill}}, 
           } 

\begin{document} 

\begin{tikzpicture} 
    \newcommand{\balkenbreite}{10pt} % Balkenbreite für Balkendiagram
    \begin{axis}[ 
    ybar=-\balkenbreite,
    bar width=\balkenbreite,
    legend entries = {I\textsubscript{Soll}, Approximiert} 
    ] 
    \addplot [blue] {x}; 
    \addplot [orange] {0.5*x}; 
    \end{axis} 
\end{tikzpicture} 

\begin{tikzpicture} 
    \begin{axis}[ 
    ybar,
    bar width=3pt,
    legend entries = {I\textsubscript{Soll}, Approximiert} 
    ] 
    \addplot [blue] {x}; 
    \addplot [orange] {0.5*x}; 
    \end{axis} 
\end{tikzpicture}

\begin{tikzpicture} 
    \begin{axis}[% 
    ylabel = {Beschriftung}, 
    legend entries = {I\textsubscript{Soll}, Approximiert}, 
    ] 
    \addplot [blue, smooth] {sin(4*x)}; 
    \addplot [orange, smooth] {cos(2*x)}; 
    \end{axis} 
\end{tikzpicture} 

\end{document}
Alternativ geht auch:
\documentclass[12pt]{scrreprt} 

\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[english, ngerman]{babel} 

\usepackage{pgfplots} 
\pgfplotsset{compat=newest, 
           width = 0.8\textwidth, 
           height = 0.4\textheight, 
           %every axis/.append style = {every node/.style = {{yshift = -8pt}, sloped}}, 
           %every x tick label/.append style = {text height = 2ex}, 
           every tick/.append style = {scaled ticks = true}, 
           every axis legend/.append style={at = {(0.5,1.05)}, 
                                    anchor = south, 
                                    legend columns = -1, 
                                    no markers, 
                                    nodes = {right, inner xsep=5pt}, 
                                    %shape = rectangle, 
                                    %fill = white
                                    }, 
           } 

\begin{document} 

\begin{tikzpicture} 
    \newcommand{\balkenbreite}{10pt} % Balkenbreite für Balkendiagram
    \begin{axis}[ 
    ybar=-\balkenbreite,
    bar width=\balkenbreite,
    legend entries = {I\textsubscript{Soll}, Approximiert} 
    ] 
    \addplot [blue,fill] {x}; 
    \addplot [orange,fill] {0.5*x}; 
    \end{axis} 
\end{tikzpicture} 
\end{document}
Gruß
Elke

Säulendiagremm ohne Umrandung der Symbole in Legende

von chris_Waechter » Do 14. Aug 2014, 15:59

Ich habe eine ganze Menge Diagramme, sowohl Säulen- als auch Linien. Ich versuche nun eine globale Einstellung zu finden, die bei den Säulendiagramme die schwarze Umrandung der Säulen ausschaltet. Das habe ich auch bereits eingestellt bekommen, aber in der Legende sind nach wie vor schwarze Linien um die Balkensymbole.

Ich habe hier mit draw opacity=0 schon eine Teillösung gefunden, aber damit verschwindet auch der Rahmen um die Legende, den ich aber gerne behalten würde.

Ist das überhaupt global machbar oder muss ich das bei jedem Diagramm von Hand eintragen?
\documentclass[12pt, oneside, a4paper]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english, ngerman]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest,
			 width = 0.8\textwidth,
			 height = 0.4\textheight,
			 every axis/.append style = {every node/.style = {{yshift = -8pt}, sloped}},
			 every x tick label/.append style = {text height = 2ex},
			 every tick/.append style = {scaled ticks = true},
			 every axis legend/.append style={at = {(0.5,1.05)},
											  anchor = south,
											  legend columns = -1,
											  no markers, 
											  nodes = {right, inner xsep=5pt},
											  shape = rectangle,
											  fill = white},
			 every axis plot/.append style = {draw = none},
			 every axis plot legend/.append style = {draw opacity = 0}
			 }

\begin{document}

\begin{figure} [H]
\begin{tikzpicture}
	\begin{axis}[
	ybar,
	legend entries = {I\textsubscript{Soll}, Approximiert}
	]
	\addplot [fill=blue] {x};
	\addplot [fill=orange] {0.5*x};
	\end{axis}
\end{tikzpicture}

\begin{tikzpicture}
	\begin{axis}[%
	ylabel = {Beschriftung},
	legend entries = {I\textsubscript{Soll}, Approximiert},
	]
	\addplot [draw=blue, smooth] {sin(4*x)};
	\addplot [draw=orange, smooth] {cos(2*x)};
	\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}
[/url]

Nach oben