知道为什么这两个看似格式相同的pfgplots
输出却不同吗?我主要希望 y 轴上的 0(在左侧的图中)与 x 轴齐平,就像右侧的图一样。我该如何解决这个问题?
\usepackage{graphicx}
\usepackage{pgfplots}
\usepackage{tikz}
\begin{figure}[htb]
\centering
\makebox[0pt][c]{%
\hspace{-2cm}
\begin{minipage}[b]{0.5\linewidth}
\centering
\begin{tikzpicture}
\begin{axis}[
ybar,
enlargelimits=0.15,
legend style={at={(0.5,-0.15)},
anchor=north,legend columns=-1},
ylabel={Collision score},
symbolic x coords={Large, 1, 2, 3, 33, 37},
xtick=data,
nodes near coords,
nodes near coords align={vertical},
point meta=y *10^-2
]
\addplot
coordinates {(Large,6.069e3) (1,1.311e3) (2,.146e3)
(3,.066e3) (33,.060e3) (37,.067e3)};
\legend{Base}
\end{axis}
\end{tikzpicture}
\label{sva}
\end{minipage}%
\hspace{1.5cm}
\begin{minipage}[b]{0.5\linewidth}
\centering
\begin{tikzpicture}
\begin{axis}[
ybar,
enlargelimits=0.15,
legend style={at={(0.5,-0.15)},
anchor=north,legend columns=-1},
ylabel={Elapsed Time},
symbolic x coords={Large, 1, 2, 3, 33, 37},
xtick=data,
nodes near coords,
nodes near coords align={vertical},
]
\addplot
coordinates {(Large,0.115 ) (1,0.124) (2,0.104 )
(3,0.108) (33,0.099) (37,0.103)};
\legend{Base}
\end{axis}
\end{tikzpicture}
\label{svb}
\end{minipage}%
}%
\end{figure}
答案1
这是因为enlargelimits
,但右轴上的 y 不是从 0 开始的。因此,只需稍加修改,您就会得到所需的结果。有关详细信息,请参阅代码中的注释。
% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
my axis style/.style={
ybar,
enlarge x limits=0.15, % <-- changed
legend style={
at={(0.5,-0.15)},
anchor=north,
legend columns=-1,
},
symbolic x coords={Large, 1, 2, 3, 33, 37},
xtick=data,
nodes near coords,
nodes near coords align={vertical},
},
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
my axis style,
ymin=0, % <-- added
ylabel={Collision score},
point meta=y *10^-2
]
\addplot
coordinates {(Large,6.069e3) (1,1.311e3) (2,.146e3)
(3,.066e3) (33,.060e3) (37,.067e3)};
\legend{Base}
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
my axis style,
ylabel={Elapsed Time},
]
\addplot coordinates {
(Large,0.115 ) (1,0.124) (2,0.104)
(3,0.108) (33,0.099) (37,0.103)};
\legend{Base}
\end{axis}
\end{tikzpicture}
\end{document}