
Есть идеи, почему эти два, казалось бы, отформатированных одинаково, pfgplots
имеют разные выходные данные? В основном я хотел бы, чтобы 0 на оси Y (на графике слева) был вровень с осью 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}