로그 막대 그래프

로그 막대 그래프

현재 y축에 로그 눈금이 있는 다이어그램을 만들려고 합니다. 값이 nodes near coords잘못되었다는 점을 제외하면 대부분 작동합니다. 그것이 없으면 ymode=log예를 들어 20551이 레이블로 표시됩니다. 9.93을 보여 ymode=log줍니다. 선형 모드의 동작을 얻을 수 있습니까? (그래서 9.93 대신 20551을 다시 표시합니다)

그리고 범례를 자동으로 중앙에 맞추는 것이 가능합니까?

\begin{tikzpicture}
\begin{axis}[
    width=0.8\textwidth,
    ybar,
    enlargelimits=0.15,
    ylabel={\#Pathes},
    ymode=log,
    log ticks with fixed point,
    xlabel={Test},
    symbolic x coords={1 - 10, 11 - 100, 101 - 1000, 1001 - 10000, >10000},
    xtick=data,
    nodes near coords={\pgfmathprintnumber{\pgfplotspointmeta}},
    nodes near coords align={vertical},
    legend style={at={(0,-2.5em)}, draw=none, anchor=north, legend columns=-1, legend     style={/tikz/every even column/.append style={column sep=0.5cm}}}
]
    \addplot coordinates {(1 - 10, 20551) (11 - 100, 19784) (101 - 1000, 2436) (1001 - 10000, 149) (>10000, 12)};
    \addplot coordinates {(1 - 10,4) (11 - 100,4) (101 - 1000,4) (1001 - 10000, 0) (>10000, 0)};
\legend{used,understood,not understood}
\end{axis}
\end{tikzpicture}

현재 출력: 전류 출력

원하는 출력: 원하는 출력

답변1

각 축의 중간점을 나타내는 legend위치(단위 없음)에 중앙 배치 할 수 있습니다 . 0.5전설의 앵커가 될 수도 있습니다.

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    width=0.8\textwidth,
    ybar,
    enlargelimits=0.15,
    ylabel={\#Pathes},
    ymode=log,
    log ticks with fixed point,
    xlabel={Test},
    symbolic x coords={1 - 10, 11 - 100, 101 - 1000, 1001 - 10000, >10000},
    xtick=data,
    nodes near coords={\pgfmathprintnumber{\pgfplotspointmeta}},
    nodes near coords align={vertical},
    legend style={at={(0.5,-2.75em)},anchor=north, draw=none, anchor=north, legend columns=-1, legend  style={/tikz/every even column/.append style={column sep=0.5cm}}}
]
    \addplot coordinates {(1 - 10, 20551) (11 - 100, 19784) (101 - 1000, 2436) (1001 - 10000, 149) (>10000, 12)};
    \addplot coordinates {(1 - 10,4) (11 - 100,4) (101 - 1000,4) (1001 - 10000, 0) (>10000, 0)};
\legend{used,understood,not understood}
\end{axis}
\end{tikzpicture}
\end{document}

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

관련 정보