如何为 gnuplot 中的最后一组条形图添加额外的空间?

如何为 gnuplot 中的最后一组条形图添加额外的空间?

我用的是这个:

plot 'dat' u 2:xtic(1) t 'pca-10', \
     'dat' u 3 t 'pca-20', \
     'dat' u 4 t 'pca-30', \
     'dat' u 4 t 'pca-30'

我的数据是:

antlr   0.9424  0.9363  0.7754  0.7506
bloat   0.9623  0.9357  0.8704  0.7807
eclipse 0.7874  0.7958  0.3617  0.3903
 fop    0.8866  0.8720  0.6590  0.6146
luindex 0.9028  0.9031  0.5168  0.5847
average 0.8950  0.8926  0.6185  0.6332

最后一行是平均值。如何在平均值组之前添加额外的空间,以使其更加明显?

答案1

我不确定如何使用 来实现这一点gnuplot,但这里有一种方法可以直接在 TeX 中使用 PGFPlots 来实现。您可以使用坐标过滤器来偏移最后一组条形图,该过滤器有条件地为第五组坐标添加一些空间:

\documentclass{article}
\usepackage{filecontents}
\usepackage{pgfplots}

\begin{filecontents}{data.dat}
name    a   b   c   D
antlr   0.9424  0.9363  0.7754  0.7506
bloat   0.9623  0.9357  0.8704  0.7807
eclipse 0.7874  0.7958  0.3617  0.3903
 fop    0.8866  0.8720  0.6590  0.6146
luindex 0.9028  0.9031  0.5168  0.5847
average 0.8950  0.8926  0.6185  0.6332
\end{filecontents}


\begin{document}

\begin{tikzpicture} 
\begin{axis}[
    ybar,
    ymin=0,
    bar width=0.2cm,
    enlarge x limits=0.15,
    width=12cm, height=5cm,
    x filter/.code={\pgfmathparse{#1+(#1==5)*0.5}},
    xtick=data,
    xticklabels from table={data.dat}{name},
    xticklabel style={text height=2ex}
]

\addplot table [x expr=\coordindex] {data.dat};
\addplot table [x expr=\coordindex, y index=2] {data.dat};
\addplot table [x expr=\coordindex, y index=3] {data.dat};
\addplot table [x expr=\coordindex, y index=4] {data.dat};

\end{axis} 
\end{tikzpicture} 

\end{document}

相关内容