
一見同じフォーマットのように見えるこれら 2 つが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}