beamer 中的 tikz 图存在问题

beamer 中的 tikz 图存在问题

我正在尝试使用此代码绘制一个函数

\begin{tikzpicture}

% Draw the log-normal distribution curve
\draw[blue,smooth,thick] plot[id=f1,domain=0.001:6,samples=50]
function {(1/(0.5*x*(2*pi)**0.5))*exp(-ln(x)*ln(x)/0.5)};
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,5);

\end{tikzpicture}

轴线工作正常,但编译时出现奇怪的错误,无法创建 pdf。我按照手册和网上的许多示例操作,但没有任何效果。

答案1

通过 pgfplots,这是一个解决方案。

在此处输入图片描述

代码

\documentclass{beamer}

\usepackage{pgfplots}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\begin{axis}[domain=0.001:6,
    samples=50,
    grid=major,smooth,
    xlabel=$x$,
    ylabel=$y(x)$, 
    legend pos=north east]
\addplot [color=red,thick]    {(1/(0.5*x*(2*pi)^0.5))*exp(-ln(x)*ln(x)/0.5)};
\legend{${\frac{1}{(0.5x(2\pi)^{0.5})}e^{-\frac{\ln(x)\ln(x)}{0.5}}}$}
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}

更新:这是使用 OP 所需方法的另一次尝试。

在此处输入图片描述

代码

\documentclass{beamer}
\usepackage{tikz}
%\usepackage{pgfplots}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=2]
\draw[blue,smooth,thick] 
 plot [id=exp,domain=0.001:6,samples=50]
(\x,{1/(0.5*\x*(2*pi)^(0.5))*exp(-ln(\x)*ln(\x)/0.5)}); 
% Draw the x-axis 
\draw[->,black] (0,0) -- (6.5,0); 
% Draw the y-axis 
\draw[->,black] (0,0) -- (0,1);
\end{tikzpicture}
\end{frame}
\end{document}

更新 2:如果gnuplot需要。这就是方法。自然对数函数ln对于 是错误的gnuplot,应该是log。此方法需要gnuplot安装并使用外部调用

pdflatex -enable-write18 (or -shell-escape) filename.tex

在此处输入图片描述

方案代码gnuplot

\documentclass{beamer}
\usepackage{tikz}
%\usepackage{pgfplots}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=2]
%Draw the log-normal distribution curve
\draw[blue,smooth,thick]
 plot [id=test,domain=0.001:6,samples=50] function 
{(1/(0.5*x*(2*pi)**0.5))*exp(-log(x)*log(x)/0.5)};
%\draw[blue,smooth,thick]            % keep this command here for comparison purpse
%plot [domain=0.001:6,samples=50]
%(\x,{1/(0.5*\x*(2*pi)^(0.5))*exp(-ln(\x)*ln(\x)/0.5)});
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,1);
\end{tikzpicture}
\end{frame}
\end{document}

答案2

我建议你使用它pgfplots进行绘图。但是,以下方法有效:

\documentclass{beamer}
\usepackage{tikz}

\begin{document}
\begin{frame}
 \begin{tikzpicture}
% Draw the log-normal distribution curve
\draw[blue,smooth,thick] plot[id=f1,domain=0.001:6,samples=50]
({\x,{(1/(0.5*\x*(2*pi)^0.5))*exp(-ln(\x)*ln(\x)/0.5)}});
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,3);
\end{tikzpicture}
\end{frame}
\end{document}

在此处输入图片描述

您的函数定义有错误。

相关内容