
그래서 저는 LaTeX를 배우고 있어서 이것이 바보같은 질문이라면 죄송합니다. 하지만 매뉴얼을 읽고, YouTube 비디오를 보고, 블로그를 읽었지만 여전히 이것이 작동하지 않는 이유를 알 수 없습니다. 간단한 막대 그래프를 만들고 싶습니다. 실제로 막대 그래프처럼 보이게 만드는 코드를 추가하려고 시도할 때까지 데이터를 표시하는 데 모든 것이 잘 진행됩니다. 그런 다음 마지막 좌표가 사라지고 그 이유를 모르겠습니다. 이것은 내 코드입니다. 상단에 "pgfplots"를 연결했습니다(관련이 있는 경우 다른 그래프에 대해 "pgf-pie도 포함)."
\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}
문제는 뒷면에서 가져온 다음 두 줄을 추가할 때 시작됩니다.
x tick label style={/pgf/number format/1000 sep=},
ybar interval=1
왜 이런 일이 발생하는지, 막대 그래프를 어떻게 만들 수 있는지 아는 사람이 있나요? 감사합니다
답변1
입력 데이터가 더 복잡해지면좌표 플롯금방 혼란스러워질 수 있습니다(저는좌표 플롯개별 포인트 등을 추가하는 경우)
일반적으로 다음과 같은 종류의 입력 데이터 테이블이 있습니다.
X Y
CA 9
TX 8
AZ 8
따라서 이 작업을 수행하는 방법을 아는 것이 좋습니다.테이블 플롯.
symbolic x coords={CA,TX,AZ},
대신 여기에는 필요하지 않습니다.
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}
답변2
나는 당신이 다음과 같은 것을 찾고 있다고 생각합니다.
\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}