Hallo, ich habe ein Balkendiagramm gezeichnet, dessen Balken keine Begrenzungslinien haben ( Hier das MB:
|
Edit Eine einfache Möglichkeit wäre, die Begrenzungslinien in der gleichen Farbe wie die Füllung zeichnen zu lassen: Open in writeLaTeX
\addplot[gray,fill]coordinates{(1920,400)(1930,230)(1940,50)(1950,10)}; Code: Open in writeLaTeX
\documentclass{scrbook} \usepackage{lmodern} \usepackage{pgfplots} \pgfplotsset{compat=1.10} \tikzset{tikzschrift/.style={font=\small}} \newcommand{\balkenbreite}{1.2cm} % Balkenbreite für Balkendiagramme \begin{document} \begin{tikzpicture}[tikzschrift] \begin{axis}[ybar=10pt, % gibt Balkendiagramm vor legend style={draw=none},% keinen Rahmen um Legende axis x line*=bottom, axis y line*=left, ymin=0, ymax=600, enlarge y limits=0.0, enlarge x limits=0.15, symbolic x coords={1920,1930,1940,1950}, x tick label style={text width=2.5cm,align=center}, xtick={data}, ytick={100,200,300,400,500,600}, nodes near coords, width=\linewidth, height=0.3\linewidth, bar width=\balkenbreite, ] \addplot[gray,fill]coordinates{(1920,400)(1930,230)(1940,50)(1950,10)}; \addplot[black!20,fill]coordinates{(1920,560)(1930,230)(1940,50)(1950,10)}; \legend{Grau, Hellgrau}; \end{axis} \end{tikzpicture} \end{document} Ursprünglicher Vorschlag Die Option Open in writeLaTeX
\pgfplotsset{ /pgfplots/ybar legend/.style={ /pgfplots/legend image code/.code={% \draw[##1,/tikz/.cd,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};} } Mit Als mögliche Lösung kann man bei den Open in writeLaTeX
\addplot[fill=gray,draw=none,draw opacity=0]coordinates{(1920,400)(1930,230)(1940,50)(1950,10)}; Alternativ kann man Open in writeLaTeX
\begin{axis}[..., legend style={draw opacity=0},...]...\end{axis} Man kann sich aber auch einen eigenen Stil für die Legendenbilder definieren. Im folgenden Code ist lediglich Open in writeLaTeX
\pgfplotsset{% /pgfplots/my ybar legend/.style={ legend image code/.code={% \path[##1,/tikz/.cd,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};% } } } Diesen eigenen Stil kann man dann nach Open in writeLaTeX
\documentclass{scrbook} \usepackage{lmodern} \usepackage{pgfplots} \pgfplotsset{compat=1.9} % eigener Stil für die Legendenbilder \pgfplotsset{% /pgfplots/my ybar legend/.style={ legend image code/.code={% \path[##1,/tikz/.cd,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};% } } } \tikzset{tikzschrift/.style={font=\small}} \newcommand{\balkenbreite}{1.2cm} % Balkenbreite für Balkendiagramme \begin{document} \begin{tikzpicture}[tikzschrift] \begin{axis}[ybar=10pt, % gibt Balkendiagramm vor my ybar legend,% eigenen Stil für die Legendenbilder verwenden legend style={draw=none},% keinen Rahmen um Legende axis x line*=bottom, axis y line*=left, ymin=0, ymax=600, enlarge y limits=0.0, enlarge x limits=0.15, symbolic x coords={1920,1930,1940,1950}, x tick label style={text width=2.5cm,align=center}, xtick={data}, ytick={100,200,300,400,500,600}, nodes near coords, width=\linewidth, height=0.3\linewidth, bar width=\balkenbreite, ] \addplot[fill=gray,draw=none]coordinates{(1920,400)(1930,230)(1940,50)(1950,10)}; \addplot[fill=black!20,draw=none]coordinates{(1920,560)(1930,230)(1940,50)(1950,10)}; \legend{Grau, Hellgrau}; \end{axis} \end{tikzpicture} \end{document} beantwortet 24 Okt '13, 23:06 esdd Super, danke für die Antwort. Es klappt sehr gut.
(28 Okt '13, 10:03)
josephine
|
@Josephine: Bitte sieh dir auch mal saputellos Antwort auf die Frage Kann ich Schriftgrößenumschaltungen auch als Umgebungen verwenden? an.