在环境中,axis
我可以使用 来指定一些点axis cs
。到目前为止,我只能够使用像 这样的特定坐标1,1
。但我想知道如何使用像 这样的数学表达式ln(3),2
。
以下是一个例子:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.4}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis equal image,
width=10cm,
axis lines=middle,
axis line style={-latex},
xtick=\empty,
ytick=\empty,
ymin=-2.5, ymax=2.5,
xmin=-3.4,xmax=3.3,
clip =false,
xlabel={$x$},ylabel={$y$},
every axis x label/.append style={anchor=north},
every axis y label/.append style={anchor=east},
]
\foreach \c in {-2,-1,-0.5,0.5,1,2}
\addplot[domain=-3:3,samples=200,restrict y to domain=-2:2]{ln(\c*x)};
%ln(1*3)1,098612289
\node[anchor=west] at (axis cs:3,1.099) {$c=1$};
%\node[anchor=west] at (axis cs:3,ln(3)) {$c=1$};
\end{axis}
\end{tikzpicture}
\end{document}
目前我正在使用:
%ln(1*3)1,098612289
\node[anchor=west] at (axis cs:3,1.099) {$c=1$};
但我更喜欢一种更自动化的方式
\node[anchor=west] at (axis cs:3,ln(3)) {$c=1$};
答案1
你可以说
\pgfmathlog{3}\let\mylog\pgfmathresult
\node[anchor=west] at (axis cs:3,{\mylog}) {$c=1$};
不完全相同,但我猜测在寻找坐标时进行复杂的计算并不容易。