
Ich lerne gerade LaTeX, also entschuldigen Sie, wenn das eine dumme Frage ist, aber ich habe das Handbuch gelesen, mir YouTube-Videos angeschaut und Blogs gelesen und kann immer noch nicht herausfinden, warum das nicht funktioniert. Ich möchte ein einfaches Balkendiagramm erstellen. Die Daten werden gut angezeigt, bis ich versuche, den Code hinzuzufügen, der es tatsächlich wie ein Balkendiagramm aussehen lässt. Dann verschwindet die letzte Koordinate und ich weiß nicht, warum. Dies ist mein Code, ich habe oben „pgfplots“ verlinkt (und auch „pgf-pie“ für ein anderes Diagramm, falls das relevant sein könnte):
\begin{tikzpicture}
\begin{axis}[
%title= ,
ymin=0, ymax=10,
x tick label style={/pgf/number format/1000 sep=},
ybar interval=1,
xlabel={$estado$},
ylabel={$frecuencia$},
symbolic x coords={CA,TX,AZ},
xtick=data,
]
\addplot coordinates { (CA,9) (TX,8) (AZ,8)};
\end{axis}
\end{tikzpicture}
Die Probleme beginnen, wenn ich diese beiden Zeilen hinzufüge, die ich von der Rückseite habe:
x tick label style={/pgf/number format/1000 sep=},
ybar interval=1
Weiß jemand, warum das passiert und wie ich ein Balkendiagramm erstellen kann? Danke
Antwort1
Bei komplexeren Eingabedaten kann dieKoordinatenplotkann schnell verwirrend werden (ich würde nur dieKoordinatenplotzum Hinzufügen einzelner Punkte oder ähnliches).
Normalerweise haben Sie eine Tabelle mit Eingabedaten der Art
X Y
CA 9
TX 8
AZ 8
Es ist also gut zu wissen, wie man das macht alsTabellenplot.
symbolic x coords={CA,TX,AZ},
wird hier nicht benötigt, stattdessen:
xticklabels from table={\inputdata}{X}, % <--- !
\documentclass[margin=3mm, tikz]{standalone}
\usepackage{pgfplotstable} % <--- !
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\pgfplotstableread[]{
X Y
CA 9
TX 8
AZ 8
}\inputdata
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=10,
%x tick label style={/pgf/number format/1000 sep=},% not used
ybar, % changed
enlarge x limits = 0.4, % new
xlabel=\textit{estado},
ylabel=\textit{frecuencia},
%symbolic x coords={CA,TX,AZ}, % not needed
xticklabels from table={\inputdata}{X}, % <--- !
xtick=data,
]
\addplot table[x expr=\coordindex, y=Y]{\inputdata};
\end{axis}
\end{tikzpicture}
\end{document}
Antwort2
Ich vermute, dass Sie nach so etwas suchen:
\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=10,
x tick label style={/pgf/number format/1000 sep=},
ybar, % changed
enlarge x limits = 0.4, % new
xlabel=\textit{estado},
ylabel=\textit{frecuencia},
symbolic x coords={CA,TX,AZ},
xtick=data,
]
\addplot coordinates { (CA,9) (TX,8) (AZ,8)};
\end{axis}
\end{tikzpicture}
\end{document}