Kurze Frage: Wie kann ich denn die Balken so setzen, dass die Ziffern auf der x-Achse mittig zu den Balken stehen? Ich habe das Problem, dass die x-Achse Kategorien beschreibt, und ich gerne eindeutig kennzeichnen würde, welcher Balken welche Kategorie beschreibt. Ich habe allerdings schon abgehakt, da deine Lösung gegeben meines Posts natürlich perfekt ist. (Anmerkung: Das war ursprünglich ein Kommentar zu einer Antwort auf Histogramm und Graph in ein Schaubild und ist somit eine Folgefrage.) Öffne in Overleaf
\documentclass[border=3mm,tikz,preview]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest}% <- compat immer angeben! \begin{document} \begin{tikzpicture} \begin{axis}[ ymin=0, ymax=55, minor y tick num = 3, area style, ] \addplot+[ybar interval,mark=no] plot coordinates { (1, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) }; \end{axis} \end{tikzpicture} \end{document} |
Das hängt davon ab, was Du wie darstellen willst. Wenn Du Öffne in Overleaf
\documentclass[border=3mm,tikz,preview]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest}% <- compat immer angeben! \begin{document} \begin{tikzpicture} \begin{axis}[ ymin=0, ymax=55, minor y tick num = 3, ybar interval ] \addplot plot coordinates { (1, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) }; \addlegendentry{bar} \addplot+[sharp plot, fill=none, line legend, domain=-5:25,samples=100]{e^(-x)}; \addlegendentry{line} \end{axis} \end{tikzpicture} \end{document} Allerdings ist diese Art der Beschriftung nicht hilfreich für den roten Graphen der zusätzlich eingezeichneten Funktion. Für diese muss man dann wissen, dass die Beschriftung zum jeweils linken Tick gehört. (Beispielsweise befindet sich der Punkt Deshalb wäre dann vielleicht das folgende geeigneter: Öffne in Overleaf
\documentclass[border=3mm,tikz,preview]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest}% <- compat immer angeben! \begin{document} \begin{tikzpicture} \begin{axis}[ ymin=0, ymax=55, minor y tick num = 3, ybar interval, xticklabel interval boundaries, x tick label style={ rotate=90, anchor=east } ] \addplot plot coordinates { (1, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) }; \addlegendentry{bar} \addplot+[sharp plot, fill=none, line legend, domain=-5:25,samples=100]{e^(-x)}; \addlegendentry{line} \end{axis} \end{tikzpicture} \end{document} Kann aber auch sein, Du suchst doch Öffne in Overleaf
\documentclass[border=3mm,tikz,preview]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest}% <- compat immer angeben! \begin{document} \begin{tikzpicture} \begin{axis}[ ymin=0, ymax=55, minor y tick num = 3, ybar, xtick=data ] \addplot plot coordinates { (1, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) }; \addlegendentry{bar} \addplot+[sharp plot, fill=none, line legend, domain=-5:25,samples=100]{e^(-x)}; \addlegendentry{line} \end{axis} \end{tikzpicture} \end{document} beantwortet 19 Nov '18, 10:44 esdd |
Wie bereits in den Kommentaren erwähnt, brächte Um die Optik des Ausgangsbeispiels in etwa zu erhalten, empfehle ich die Einstellung
Öffne in Overleaf
\documentclass[border=3mm,varwidth]{standalone} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[ ymin=0, ymax=55, minor y tick num = 3, area style, xlabel={$x$},%<-- ylabel={$y$},%<-- y label style={at={(axis description cs:0.15,0.95)},rotate=-90,anchor=south}, %x label style={at={(axis description cs:0.5,-0.1)},anchor=north}, ] \addplot+[ybar interval, mark=no] plot coordinates { (1, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) }; %\addplot[red, very thick,samples=200, domain=-5:25]{exp(-x)};%<-- \node[font=\bfseries] at (axis cs:5,50) {ALT}; \end{axis} \end{tikzpicture} \begin{tikzpicture} \begin{axis}[ ybar interval=1.0, % Für Lücken zwischen den Balken Wert verkleinern x tick label as interval, grid=none, % optional %xtick=data, % evtl. sinnvoll ymin=0, ymax=55, minor y tick num = 3, xlabel={$x$},%<-- ylabel={$y$},%<-- y label style={at={(axis description cs:0.15,0.95)},rotate=-90,anchor=south} ] \addplot [draw=blue,fill=blue!30, ] coordinates { (1, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) }; \node[font=\bfseries] at (axis cs:5,50) {NEU}; \end{axis} \end{tikzpicture} \end{document} beantwortet 19 Nov '18, 10:54 cis |
ybar
stattybar interval
?