Ximi
Ximi

Reputation: 131

adjust labels on tikz bar chart

How can I adjust the labels on the y-axis?

In the current version, the labels are not aligned to the bars.

The example is from: https://texample.net/tikz/examples/bar-chart/

I add a few more data fields and removed the second category.

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}


\begin{tikzpicture}
  \begin{axis}[title  = Contributions per category
                          at LaTeX-Community.org,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
    enlarge y limits  = 0.2,
    enlarge x limits  = 0.02,
    symbolic y coords = {test1,test2,test3,test4,LaTeX, Tools, Distributions, Editors},
    nodes near coords,
  ]
  \addplot coordinates { (57727,LaTeX)         (5672,Tools)
                         (2193,Distributions)  (11106,Editors)
                         (11106,test1)
                         (11106,test2)
                         (11106,test3)
                         (11106,test4)
                         };

  \legend{Topics}
  \end{axis}
\end{tikzpicture}

\end{document}

Upvotes: 1

Views: 1640

Answers (1)

With the ytick=data option:

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}


\begin{tikzpicture}
  \begin{axis}[
    title  = Contributions per category at LaTeX-Community.org,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
    enlarge y limits  = 0.2,
    enlarge x limits  = 0.02,
    symbolic y coords = {test1,test2,test3,test4,LaTeX,Tools,Distributions,Editors},
    ytick=data,
    nodes near coords, 
    nodes near coords align={horizontal},
  ]
  \addplot coordinates { 
    (57727,LaTeX)        
    (5672,Tools)
    (2193,Distributions)  
    (11106,Editors)
    (11106,test1)
    (11106,test2)
    (11106,test3)
    (11106,test4)
  };

  \legend{Topics}
  \end{axis}
\end{tikzpicture}

\end{document}

enter image description here

Upvotes: 1

Related Questions