
Estou aprendendo LaTeX, então me desculpe se esta é uma pergunta idiota, mas li o manual, assisti vídeos no YouTube e li blogs e ainda não consigo entender por que isso não está funcionando. Eu quero fazer um gráfico de barras simples. Tudo vai bem na exibição dos dados até que tento adicionar o código que faz com que realmente pareça um gráfico de barras, então, a última coordenada desaparece e não sei por quê. Este é o meu código, vinculei "pgfplots" no topo (e também "pgf-pie para outro gráfico, se isso for relevante):
\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}
Os problemas começam quando adiciono estas duas linhas, que obtive no verso:
x tick label style={/pgf/number format/1000 sep=},
ybar interval=1
Alguém sabe por que isso está acontecendo e como posso fazer um gráfico de barras? Obrigado
Responder1
Com dados de entrada mais complexos, ográfico de coordenadaspode rapidamente se tornar confuso (eu usaria apenas ográfico de coordenadaspara adicionar pontos individuais ou similares).
Normalmente você tem uma tabela de dados de entrada do tipo
X Y
CA 9
TX 8
AZ 8
Então é bom saber como fazer isso como umgráfico de mesa.
symbolic x coords={CA,TX,AZ},
não é necessário aqui, em vez disso:
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}
Responder2
Eu acho que você está procurando algo assim:
\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}