我有以下代码,我想知道我应该做哪些更改才能使图形不触及 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
您可以在数学模式中获得适合自然对数的字体和间距。我没有手动放置轴的标签,而是使用了
xlabel
、ylabel
键,