
Irgendeine Idee, warum diese beiden scheinbar gleich formatierten Darstellungen pfgplots
unterschiedliche Ergebnisse liefern? Ich möchte vor allem, dass die 0 auf der Y-Achse (im Diagramm links) bündig mit der X-Achse abschließt, genau wie im Diagramm rechts. Wie kann ich das beheben?
\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}
Antwort1
Dies liegt daran , dass enlargelimits
, aber auf der rechten Achse beginnt y nicht bei 0. Mit einer kleinen Änderung erhalten Sie also das gewünschte Ergebnis. Siehe dazu die Kommentare im Code.
% 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}