用符号轴值绘制曲线

用符号轴值绘制曲线

我想绘制一条曲线,例如 y=1-e^{-x},将 x 轴的值 1,2... 映射到 x1,x2... 上,将 y 轴的值 1,2... 映射到 y1,y2... 上。

我只知道如何定义符号轴值:

\documentclass{article}
\usepackage{graphicx}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.15}
\usepackage{physics}
\usepackage{amsmath, amssymb, amsfonts}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        xlabel={$x$},
        ylabel={$y$},
        axis lines=center,
        symbolic x coords={0,$x_1$, $x_2$, $x_3$, $x_4$},
        xmin={[normalized]0},
        xmax={[normalized]5},
        xtickmax={[normalized]4},
        xtick distance=1,
        symbolic y coords={0,$y_1$, $y_2$, $y_3$, $y_4$},
        ymin={[normalized]0},
        ymax={[normalized]5},
        ytickmax={[normalized]4},
        ytick distance=1]
    \end{axis}
\end{tikzpicture}

\end{document}

先感谢您。

答案1

您可以更改刻度标签,而不是使用符号坐标。下面我保留了代码中的xtick distance/ ,但我删除了与符号坐标相关的所有内容,并设置ytick distance

xticklabel={$x_{\pgfmathprintnumber[precision=0]{\tick}}$},     
yticklabel={$y_{\pgfmathprintnumber[precision=0]{\tick}}$}

按照您说的制作刻度标签。

代码输出

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.15}
\usepackage{physics}
\usepackage{amsmath, amssymb, amsfonts}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
        xlabel={$x$},
        ylabel={$y$},
        axis lines=center,
        xtick distance=1,
        ytick distance=1,
        xmin=0,xmax=5,
        ymin=0,ymax=5,
        xticklabel={$x_{\pgfmathprintnumber[precision=0]{\tick}}$},
        yticklabel={$y_{\pgfmathprintnumber[precision=0]{\tick}}$}
]

\addplot +[mark=none,smooth] {1-e^(-x)};

\end{axis}
\end{tikzpicture}

\end{document}

相关内容