如何绘制图形以使其不接触 y 轴?

如何绘制图形以使其不接触 y 轴?

我有以下代码,我想知道我应该做哪些更改才能使图形不触及 y 轴:

\documentclass{article}
\usepackage{tikz}
\begin{document}

    \begin{tikzpicture}[scale=1.2]
    \begin{axis}[
    axis lines=middle,
    xtick=\empty,
    ytick=\empty,
    clip=false
    ]
    \addplot+[no marks,blue,line width=1pt,samples=150,domain=-0.1:6] {ln(x)};
    \node[right,black] at (axis cs:4.2,1.8) {\textbf{\textit{y = ln x}}};
    \node[below,black] at (axis cs:6,-0.1) {\textbf{\textit{x}}};
    \node[black] at (axis cs:0.2,2) {\textbf{\textit{y}}};
    \end{axis}

    \end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

下面的代码显示了两种可能性:在这两种情况下,我都将域更改为0.1:6而不是您的-0.1:6,然后使用enlargelimits(第一个例子)和一个值xmin(第二个例子):

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

    \begin{tikzpicture}[scale=1.2]
    \begin{axis}[
    axis lines=middle,
    xtick=\empty,
    ytick=\empty,
    xlabel={$x$},
    ylabel={$y$},
    enlarge x limits,
    clip=false
    ]
    \addplot+[no marks,blue,line width=1pt,samples=150,domain=0.1:6] {ln(x)};
    \node[right,black] at (axis cs:4.2,1.8) {$y = \ln x$};
    \end{axis}
    \end{tikzpicture}\par\bigskip

    \begin{tikzpicture}[scale=1.2]
    \begin{axis}[
    axis lines=middle,
    xtick=\empty,
    ytick=\empty,
    xlabel={$x$},
    ylabel={$y$},
    xmin=-0.1,
    clip=false
    ]
    \addplot+[no marks,blue,line width=1pt,samples=150,domain=0.1:6] {ln(x)};
    \node[right,black] at (axis cs:4.2,1.8) {$y = \ln x$};
    \end{axis}
    \end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

评论:

  • 这里使用斜体和粗体并不是最好的;请使用数学模式(如果确实需要,请使用粗体)。

  • \ln您可以在数学模式中获得适合自然对数的字体和间距。

  • 我没有手动放置轴的标签,而是使用了xlabelylabel键,

相关内容