由于一次大的测量,绘图无法区分值

由于一次大的测量,绘图无法区分值

代码:

\documentclass{standalone}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[scale=1.2]
  \begin{axis}[
    title=Find next vertex,
    xlabel=Cube's $dimension$,
    ylabel=$Time$ (sec),]
    \addplot coordinates {
        (2, 4.86e-07)
    (4, 1.548e-06)
    (8, 2.1081e-05)
    (16, 0.00440496)
    (32, 277.778)
    };
    \addplot [red,mark=*]  coordinates {
        (2, 8.17e-07)
    (4, 2.218e-06)
    (8, 3.0043e-05)
    (16, 0.00721884)
    (32, 296.945)    
    };
  \end{axis}
\end{tikzpicture}
\end{document}

结果:

enter image description here

正如您所说,前四次测量结果似乎相等(但实际情况并非如此),这是因为最后一次测量结果明显较大。您知道如何解决这个问题吗?


通过使用对数刻度,较小的值可以区分,但较大的值会相冲突。也许我应该放大,但不知道如何在我的情况下应用它!

答案1

考虑到 y 值跨度为 8 个数量级,我认为对数刻度是最佳选择。另外,不要对斜体文本使用数学模式,因为其语义错误,并且输出效果不佳。如果需要斜体,请使用\textit{dimension}

enter image description here

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[scale=1.2]
  \begin{axis}[
    title=Find next vertex,
    xlabel=Cube's dimension,
    ylabel=Time (sec),
    ymode=log]
    \addplot coordinates {
        (2, 4.86e-07)
    (4, 1.548e-06)
    (8, 2.1081e-05)
    (16, 0.00440496)
    (32, 277.778)
    };
    \addplot [red,mark=*]  coordinates {
        (2, 8.17e-07)
    (4, 2.218e-06)
    (8, 3.0043e-05)
    (16, 0.00721884)
    (32, 296.945)    
    };
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容