Variables Diagramm
Das Diagramm sieht bei 7 Einträgen in der Liste in Ordnung aus. Wenn sich aber die Anzahl der Einträge ändert bleibt die Breite des Diagramms gleich. Wie kann ich die Breite variabel machen?
\begin{filecontents}{data.csv}
Nr, Name, Vorname, Stimmen
1, Name1, Vorname1, 13
2, Name2, Vorname2, 36
3, Name3, Vorname3, 15
4, Name4, Vorname4, 13
5, Name5, Vorname5, 6
6, Name6, Vorname6, 12
7, Name7, Vorname7, 25
\end{filecontents}
%.TeX-Dokument
\documentclass[tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\makeatletter
\pgfplotsset{
/pgfplots/flexible xticklabels from table/.code n args={3}{%
\pgfplotstableread[#3]{#1}\coordinate@table
\pgfplotstablegetcolumn{#2}\of{\coordinate@table}\to\pgfplots@xticklabels
\let\pgfplots@xticklabel=\pgfplots@user@ticklabel@list@x
}
}
\makeatother
\newcommand{\saeulendiagramm}[1]{
\begin{tikzpicture}
\begin{axis}[
ybar,
xtick=data,
ymajorgrids=true,
bar width=0.7cm,
xtick align=inside,
ylabel={Stimmen},
flexible xticklabels from table={#1}{Name}{col sep=comma},
x tick label style={font=\normalsize, rotate=45, anchor=east}
]
%\addplot[fill=blue] table [x index=0,y index=3, col sep = comma] {#1};
\addplot+[fill=blue] table[x expr=\coordindex,y index = 3, col sep=comma] from {#1};
\end{axis}
\end{tikzpicture}
}
\begin{document}
\saeulendiagramm{data.csv}
\end{document}
Und Beispieldaten:
Nr, Name, Vorname, Stimmen
1, Name1, Vorname1, 13
2, Name2, Vorname2, 36
3, Name3, Vorname3, 15
4, Name4, Vorname4, 13
5, Name5, Vorname5, 6
6, Name6, Vorname6, 12
7, Name7, Vorname7, 25