Ich versuche, ein einfaches zweidimensionales Diagramm mit kleinen Gleitkommazahlen (0:0,12) im Vergleich zu einer Reihe großer Ganzzahlen (100:100000) wie folgt zu zeichnen:
\begin{tikzpicture}
\begin{axis}[
domain=100:100000,
title={Request time dependence on database record size},
xlabel={Database Size [number of records]},
ylabel={Time [seconds per average of 1000 requests]},
xmin=100, xmax=1000000,
ymin=0, ymax=0.13,
xtick={100, 1000, 10000, 100000},
ytick={0,0.0001,0.001,0.01, 0.1},
legend pos=north west,
grid style=dashed,
restrict y to domain=0:1
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(100,0.0004)(1000,0.002519528)(10000,0.0134010380006657)(100000,0.125218412)
};
\legend{CuSO$_4\cdot$5H$_2$O}
\end{axis}
\end{tikzpicture}
Allerdings sieht die Grafik seltsam aus (ignorieren Sie die Legende):
Irgendwelche Ideen, wie man die X-Achse tatsächlich auf die erforderlichen Werte bringt? (100, 1000, 10000, 100000)
Danke
Antwort1
Anstatt nur die x-Achse in den logarithmischen Modus zu ändern (wie von Torbjørn T. imKommentar unter der Frage) Ich würde vorschlagen, den Log-Modus für beide Achsen zu verwenden. Darüber hinaus gibt es einige Optionen, die verhindern, dass das Diagramm angezeigt wird, weshalb ich sie kommentiert habe.
% used PGFPlots v1.14
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}[
% domain=100:100000,
title={Request time dependence on database record size},
xlabel={Database Size [number of records]},
ylabel={Time [seconds per average of 1000 requests]},
xmin=100, xmax=1000000,
ymin=0, ymax=0.13,
% xtick={100, 1000, 10000, 100000},
% ytick={0,0.0001,0.001,0.01, 0.1},
legend pos=north west,
% grid style=dashed,
% restrict y to domain=0:1,
]
\addplot[
color=blue,
mark=square,
] coordinates {
(100,0.0004)
(1000,0.002519528)
(10000,0.0134010380006657)
(100000,0.125218412)
};
\legend{CuSO$_4\cdot$5H$_2$O}
\end{loglogaxis}
\end{tikzpicture}
\end{document}