如何在 LATEX 中绘制 BARPLOT

如何在 LATEX 中绘制 BARPLOT

我想在乳胶中绘制 Barplot。

这是我的数据.....

姓名 S1 S2
约翰·怀特 912 800
艾伦·凯特 484 400
哈伦·库 309 250
达伦·卡利格 291 280
阿里夫·巴特 192 150
詹姆斯·希尔 142 120

我想要绘制与该图类似的条形图。

在此处输入图片描述

答案1

感谢 Henry Menke 的回答并做了一些补充:

在此处输入图片描述

\documentclass[margin=5pt]{standalone}
%\pagestyle{empty}% for cropping
\usepackage{tikz,pgfplots,pgfplotstable}

\pgfplotstableread[col sep=semicolon]{
name;S1;S2
john white;912;800
alan ket;484;400
halen koo;309;250
daren kalig;291;280
arif butt;192;150
james seal;142;120
}\loadedtable
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
            enlarge x limits=0.2,
            xbar,nodes near coords,bar width=16pt,bar shift=0pt,
            symbolic y coords={john white,alan ket,halen koo,daren kalig,arif butt,james seal},
            ytick={john white,alan ket,halen koo,daren kalig,arif butt,james seal},
            %x coord trafo/.code={\pgfmathparse{-x}},
            xticklabels={0,1000,500,0,500,1000},
        ]
        \addplot[nodes near coords align={left},
                    draw=blue,fill=blue!25,text=blue]
            table[y=name,x expr={-\thisrow{S1}},point meta={-x}] \loadedtable;

        \addplot table[y=name,x expr={\thisrow{S2}}] \loadedtable;
    \end{axis}
\end{tikzpicture}
\end{document}

答案2

另一个版本的宽度pgfplotstablexbar

\documentclass{article}
\pagestyle{empty}% for cropping
\usepackage{pgfplots,pgfplotstable}
\pgfplotsset{compat=1.10}
\pgfplotstableread[col sep=semicolon]{
name;S1;S2
john white;912;800
alan ket;484;400
halen koo;309;250
daren kalig;291;280
arif butt;192;150
james seal;142;120
}\loadedtable
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
            enlarge x limits=0.2,
            xbar,nodes near coords,bar width=16pt,bar shift=0pt,
            symbolic y coords={john white,alan ket,halen koo,daren kalig,arif butt,james seal},
            ytick={john white,alan ket,halen koo,daren kalig,arif butt,james seal},
        ]
        \addplot table[y=name,x expr={-\thisrow{S1}},point meta={x*(-1)}] \loadedtable;

        \addplot table[y=name,x expr={\thisrow{S2}}] \loadedtable;
    \end{axis}
\end{tikzpicture}
\end{document}

有一个错误point meta。一旦我引入修饰符,它就会被取代。

在此处输入图片描述

相关内容