Я пытаюсь построить простой двумерный график небольших чисел с плавающей точкой (0:0,12) в зависимости от набора больших целых чисел (100:100000) следующим образом:
\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}
Однако график выглядит не совсем так (не обращайте внимания на легенду):
Есть идеи, как заставить ось X действительно иметь требуемые значения? (100, 1000, 10000, 100000)
Спасибо
решение1
Вместо того, чтобы просто изменить ось x на логарифмический режим (как предложил Торбьёрн Т. вкомментарий под вопросом) Я бы предложил использовать режим логарифма для обеих осей. В дополнение к этому у вас есть некоторые опции, которые не позволяют графику отображаться, поэтому я их и прокомментировал.
% 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}