使用 pgfplots 将 y 轴设为以 2 为底的对数刻度

使用 pgfplots 将 y 轴设为以 2 为底的对数刻度

我使用如下所示的方式制作了一个图表pgfplots,我想让 y 轴采用对数刻度。此代码运行正常,但对数的底数是 10。我怎样才能将其改为以 2 为底数?

\begin{tikzpicture}
    \begin{axis}[
        height=0.5\textwidth,
        width=\textwidth,
        xlabel=LabelX,
        xtick={1,...,10},
        ylabel=LabelY,
        ymode=log,
    ]
        \addplot[mark=*,blue] table[x=V,y=R] {data1.data};
        \addplot[mark=x,red] table[x=V,y=E] {data2.data};
    \end{axis}
\end{tikzpicture}

答案1

您可以使用log basis x={<number>}and/orlog basis y={<number>}选项:

\documentclass{article}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        height=0.5\textwidth,
        width=\textwidth,
        xlabel=LabelX,
        xtick={1,...,10},
        ylabel=LabelY,
        ymode=log,
       log basis y={2}
]
        \addplot[mark=*,blue] coordinates {(2,2) (5,8) (7,16)};
    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容