Estou tentando traçar um gráfico 2D básico de pequenos números de ponto flutuante (0:0,12) em relação a um conjunto de números inteiros grandes (100:100000), assim:
\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}
No entanto, o gráfico parece errado (ignore a legenda):
Alguma idéia de como fazer com que o eixo X realmente tenha os valores necessários? (100, 1.000, 10.000, 100.000)
Obrigado
Responder1
Em vez de apenas mudar o eixo x para o modo log (como sugerido por Torbjørn T. nocomente abaixo da pergunta) Eu sugeriria usar o modo log para ambos os eixos. Além disso você tem algumas opções que impedem que o gráfico apareça, por isso comentei.
% 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}