pgfplots 막대 차트 xticks가 막대와 정렬되지 않음

pgfplots 막대 차트 xticks가 막대와 정렬되지 않음

xticks가 막대를 정확히 정렬하지 않은 것 같습니다. 첫 번째 AAA가 누락되었습니다.

\documentclass[]{standalone}
\usepackage{pgfplotstable}
\usepackage{tikz}
\tikzset{font=\footnotesize}
\pgfplotstableread[col sep=comma]{
key,value
AAA,14.9
BBB,16.5
CCC,19.1
DDD,20.2
EEE,22.7
FFF,23.1
GGG,26.3
HHH,26.4
III,27.1
JJJ,30.8
KKK,35.5
LLL,37.3
MMM,110.0
}\mydata
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    ybar,
    xmin = 0,xmax=14,
    %ytick=data,
    xticklabels from table={\mydata}{key},
    xlabel = {category},
    ylabel = {weight},
    x tick label style={rotate=90,anchor=east},
    axis lines=left,
    bar width=30,
    height=14cm
]
\addplot table [x expr=\coordindex,y=value] {\mydata};
\end{axis}
\end{tikzpicture}
\end{document}

산출:

여기에 이미지 설명을 입력하세요

답변1

  • 무엇보다도, 당신의 플롯은 핵심을 놓치고 있습니다 xtick=data. 그런 다음 xtick 레이블과 데이터가 일치합니다.

  • 아마도 첫 번째 막대가 y축 옆에 절반만 인쇄되는 것을 원하지 않을 것입니다. xmin = 0,xmax=14로 교체하세요 xmin = -1,xmax=13.

  • 아마도 y축이 가장 작은 값인 에서 시작하는 것을 원하지 않을 수도 있습니다 AAA. 이 경우에는 ymin=0.

  • x축의 레이블을 아래로 이동하려면 를 사용하십시오 xlabel style = {yshift=-5mm}.

여기에 이미지 설명을 입력하세요

\documentclass[]{standalone}
\usepackage{pgfplotstable}
\usepackage{tikz}
\tikzset{font=\footnotesize}
\pgfplotstableread[col sep=comma]{
key,value
AAA,14.9
BBB,16.5
CCC,19.1
DDD,20.2
EEE,22.7
FFF,23.1
GGG,26.3
HHH,26.4
III,27.1
JJJ,30.8
KKK,35.5
LLL,37.3
MMM,110.0
}\mydata
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    ybar,
    xmin = -1,xmax=13,
    ymin = 0,
    %ytick=data,
    xticklabels from table={\mydata}{key},
    xtick=data,
    xlabel = {category},
    xlabel style = {yshift=-5mm},
    ylabel = {weight},
    x tick label style={rotate=90,anchor=east},
    axis lines=left,
    bar width=30,
    height=14cm
]
\addplot table [x expr=\coordindex,y=value] {\mydata};
\end{axis}
\end{tikzpicture}
\end{document}

관련 정보