我从未遇到过这些问题,在绘图中,我能够设置 x 轴上的字体大小和标签系列。使用相同的命令,我能够设置 y 轴上标签的字体大小,但不能设置系列。此外,命令“bar width=”和“column sep=”不被执行,我无法更改宽度和条形间距。我已经使用 LaTeX 和 XeLaTeX 进行了编译。我的代码是
\documentclass[border=0pt, preview]{standalone}
\usepackage[usernames,dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{pgfplots}
%\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
bar width=0.2cm,
column sep=0.3cm,
axis line style={Gray},
ybar stacked,
bar width=4pt,
enlargelimits=0.02,
axis on top,
title={\sffamily Data},
symbolic x coords={19, 20},
xtick={19, 20},
ytick={0, 50, 100, 150,200},
xticklabel style={font=\small\sffamily, rotate=90},
yticklabel style={font=\small\sffamily},
ymajorgrids]
\addplot+[ybar, color=Green] plot
coordinates {(19,157.4)
(20,110)};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这是否更符合您的要求?使用的问题\sffamily
基本上在于刻度处于数学模式,因此您可能希望改用\sansmath
。并且如上面的评论中所述,如果您bar width
仅定义一次,它就可以正常工作。
\documentclass[border=5pt, preview]{standalone}
\usepackage[usernames,dvipsnames]{xcolor}
\usepackage{tikz,pgfplots}
\usepackage{sansmath}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=5cm,
bar width=0.2cm,
axis line style={Gray},
ybar stacked,
axis on top,
title={\sffamily Data},
xmin=18.5,xmax=20.5,
xtick distance =1,
ymin=0,ymax=200,
xticklabel style={font=\small\sansmath,rotate=90},
yticklabel style={font=\small\sansmath},
ymajorgrids]
\addplot+[ybar, color=Green] coordinates {(19,157.4) (20,110)};
\end{axis}
\end{tikzpicture}
\end{document}
但对此并不确定column sep
。