如何在水平条形图中的条形上放置标签,以使其位于条形的中心?

如何在水平条形图中的条形上放置标签,以使其位于条形的中心?

我知道和弦附近的节点,如果标签的放置仅相对于小节的结束节点,这就足够了。然而,我想做的是让标签位于小节的中心。有办法做到这一点吗?

请考虑以下示例:

\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}

\usepackage{filecontents}
\begin{filecontents}{data.dat}
1   0   0.1
2   1   \pi
3   2   \frac{\pi}{2}
\end{filecontents}

\begin{document}

 \begin{tikzpicture}
 \begin{axis}[xbar stacked, 
    nodes near coords=$\pgfplotspointmeta$,
    nodes near coords align={left},
    point meta=explicit symbolic] 
 \addplot table [meta index=2] {data.dat}; 
 \end{axis}
 \end{tikzpicture}

\end{document}

它会将标签 (0.1、pi、pi/2) 绘制到相应条形图末尾的左侧。我想要的是让标签位于条形图的中心。

答案1

一切都正确,只是你忘记设置了compat=1.9。所以这里是你的代码和结果的一个稍微修改过的版本。

\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{
        compat=1.9,
    }
\usepackage{filecontents}
\begin{filecontents}{data.dat}
    1   0   0.1
    2   1   \pi
    3   2   \frac{\pi}{2}
\end{filecontents}
\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            xmin=0,
            xbar stacked,
            nodes near coords=$\pgfplotspointmeta$,
            point meta=explicit symbolic,
        ]
            \addplot table [meta index=2] {data.dat};
        \end{axis}
    \end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容