我正在尝试为该条形图的所有边添加统一的填充。在 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
指定xmin
和xmax
。然后相等地放大两边(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}