我妻子正在写她的硕士论文,我们正试着制作一些条形图来配合使用。我们设法创建了一个好看的图表,但标签/xtick 未居中对齐。添加更多 addplots 时,情况变得更糟。我们都是 LaTex 新手,即使浏览了好几个小时的网站和手册,我还是找不到解决这个问题的方法。
我第一次尝试“MWE”:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tipa}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{width=10 cm}
\begin{axis} [
symbolic x coords={Label 1,Label 2},
xtick={Label 1, Label 2},
x tick label style={rotate=45, anchor=east, align=center},
axis lines=left,
y label style={rotate=-90},
ylabel=\Large{\textbf{\%}},
title= \Large{Some Heading} ,
legend style={at={(0.5,-0.10)},
anchor=north,legend columns=1},
ybar=0pt ,
ymin=0,
ymax=50,
samples=2,
domain=1:2,
bar width=2.5cm,
enlarge x limits={abs=3.2cm},
]
\addplot [blue,fill=blue]
coordinates{ (Label 1,35.5) } ;
\addplot [red,fill=red]
coordinates{ (Label 2,14.8) } ;
\end{axis}
\end{tikzpicture}
\end{document}
请帮助我们找到解决方案。也欢迎提出使用其他(更简单/更好)软件包的建议。
谢谢你!
答案1
是這樣嗎?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tipa}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\pgfplotsset{width=10 cm}
\begin{axis} [
symbolic x coords={Label 1,Label 2},
xtick={Label 1, Label 2},
x tick label style={rotate=45, anchor=east, align=center},
axis lines=left,
y label style={rotate=-90},
ylabel=\Large{\textbf{\%}},
title= \Large{Some Heading} ,
legend style={at={(0.5,-0.10)},
anchor=north,legend columns=1},
ybar=0pt ,
ymin=0,
ymax=50,
samples=2,
domain=1:2,
bar width=0.5cm, %% changed
ybar=-0.5cm, %% new
enlarge x limits={abs=3.2cm},
nodes near coords, %% new
nodes near coords align={vertical}, %% new
]
\addplot [blue,fill=blue]
coordinates{ (Label 1,35.5) } ;
\addplot [red,fill=red]
coordinates{ (Label 2,14.8) } ;
\end{axis}
\end{tikzpicture}
\end{document}
我已在代码中标记了所做的更改。我已将条形宽度更改为0.5cm
(假设在添加更多条形时您可能需要它),并将它们移动适当的量,以便x tick
和label
在中心对齐
bar width=0.5cm, %% changed
ybar=-0.5cm, %% new
我还添加了y
顶部条形的值
nodes near coords, %% new
nodes near coords align={vertical}, %% new
如果你希望label
s 也居中,你可以使用xshift
syshift
x tick label style={rotate=45, anchor=east,
align=center,xshift=0.4cm,yshift=-0.4cm},
适当改变移位值。
希望这有用。