我如何给这个条形图添加合理的填充?

我如何给这个条形图添加合理的填充?

我正在尝试为该条形图的所有边添加统一的填充。在 tex.SE 上的另一个答案中,我找到了以下代码,但是,我无法找到和的值来xmin实现enlarge x我想要的效果。

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  xbar,
  y=-0.5cm,
  bar width=0.3cm,
  enlarge y limits={abs=0.45cm},
  xmin=0, enlarge x limits={upper,abs=1.25},
  symbolic y coords={a,b,c,d,e,f,
                          tn},
  ytick=data,
  nodes near coords, nodes near coords align=horizontal
  ]
\addplot table[col sep=comma,header=false] {
0.1,a
0.1,b
0.1,c
0.1,d
0.1,e
0.1,f
9.1,tn
};
\end{axis}
\end{tikzpicture}
\end{document}

这是最初的情况,9.1距离右边界太近了。

添加放大并xmin=0修复右侧的填充,但不知何故它将条形图移动到右侧:

当我尝试用它修复此问题时,xmin=1出现了意外行为:

此外,我想删除左侧和右侧的破折号。

答案1

指定xminxmax。然后相等地放大两边(x 的左边和右边)(即删除upper)。

要删除左侧和右侧的破折号,请ytick style={line width=0.0001pt},在轴选项中添加此项:。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  xbar,
  y=-0.5cm,
  bar width=0.3cm,
  enlarge y limits={0.15},
  xmin=0,xmax=10, enlarge x limits={0.05},
  symbolic y coords={a,b,c,d,e,f,
                          tn},
  ytick=data,
  ytick style={line width=0.0001pt},
  nodes near coords, nodes near coords align=horizontal
  ]
\addplot table[col sep=comma,header=false] {
0.1,a
0.1,b
0.1,c
0.1,d
0.1,e
0.1,f
9.1,tn
};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容