向 PDF 添加对数轴

向 PDF 添加对数轴

我发现这段代码采用生成图表的表格并在 x 轴上添加对数刻度。我尝试使用 PDF 并在其上添加对数轴(x 和 y 均为对数)。我努力尝试但找不到解决方案。有人能帮帮我吗?

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{units}

\makeatletter
\pgfplotsset{
    /pgfplots/log ticks with fixed point/.style={
        /pgfplots/log number format basis/.code 2 args={
            \begingroup
            \edef\pgfplots@exponent{##2}%
            \pgfkeysalso{/pgf/fpu}%
            % configure the style to avoid crap like
            % 10,000.2  or 0.000999937 :
            \pgfqkeys{/pgf/number format}{%
                fixed relative,
                precision=3,
            }%
            \ifdim##1pt=10pt
                \def\pgfplots@baselog{2.30258509299405}%
            \else
                \pgfmathparse{ln(##1)}%
                \let\pgfplots@baselog=\pgfmathresult
            \fi
            \ifdefined\pgfplots@scaled@ticks@x@arg\pgfmathfloatparsenumber{\pgfplots@scaled@ticks@x@arg}\else\def\pgfmathresult{1}\fi%
            \pgfmathparse{\pgfmathresult*exp(\pgfplots@exponent*\pgfplots@baselog)}%
            \pgfmathprintnumber[#1]\pgfmathresult
            \endgroup
        },
    }
}
\makeatother

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    xmode=log,
    log ticks with fixed point,
    scaled x ticks=real:1e3
]
\addplot table {
0.0001 10
0.001 20
0.01 15
};
\end{axis}
\end{tikzpicture}
\end{document}

我想要从 PDF 中看到以下内容:

在此处输入图片描述

对于对数轴如下的图形:

在此处输入图片描述

答案1

作为起点:

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{units}

\makeatletter
\pgfplotsset{compat=1.17}

\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}[
    ymin=1, ymax=100,
    xlabel={$W$ [eV]},
    ylabel={$P$ [W]},
    legend pos=south east
                    ]
\addplot table {
0.0001  10
0.001   20
0.01    15
};
\legend{initial distr.}
\end{loglogaxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

从 Matlab 模拟中,我将仅使用数据作为\addplot宏中的坐标。

相关内容