我有以下代码,它将图形渲染为“斑点状”(缺乏更好的词):
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage{graphicx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
title=Hyperbolsk funktion,
xlabel={$x$},
ylabel={$y$},
xmin=-5, xmax=5,
ymin=-5, ymax=5,
xtick={-1,0,1},
ytick={-1,0,1},
axis line style={->},
ymajorgrids=true,
xmajorgrids=true,
grid style=dashed,
grid style=thin,
grid style=black,
legend pos=south east
]
\addplot[color=blue,domain=-5:5,smooth]{sinh(x)};
\addlegendentry{f(x)=sinh(x)}
\addplot[color=red,domain=-5:5]{cosh(x)};
\addlegendentry{f(x)=cosh(x)}
\addplot[color=green,domain=-5:5]{tanh(x)};
\addlegendentry{f(x)=tanh(x)}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
对你的帮助表示感谢。
答案1
您需要在方括号内将“samples=xxx”添加到 \addplot 行中。这样您就可以选择要采集的样本数量,样本数量越多,曲线越平滑,但编译速度越慢。对于大多数曲线来说,100 应该足够了。如果不添加此项,它将使用默认的样本数量,从而产生较少的“弯曲”曲线。
如果你愿意的话,可以采用更简单的方法全部要使样本数量相同,请将其添加\pgfplotsset{samples=xxx}
到前导码中,将默认值设置为“xxx”。
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
title=Hyperbolsk funktion,
xlabel={$x$},
ylabel={$y$},
xmin=-5, xmax=5,
ymin=-5, ymax=5,
xtick={-1,0,1},
ytick={-1,0,1},
axis line style={->},
ymajorgrids=true,
xmajorgrids=true,
grid style=dashed,
grid style=thin,
grid style=black,
legend pos=south east
]
\addplot[color=blue,domain=-5:5,smooth, samples=100]{sinh(x)};//Note the change here
\addlegendentry{f(x)=sinh(x)}
\addplot[color=red,domain=-5:5, samples=100]{cosh(x)}; //Note the change
\addlegendentry{f(x)=cosh(x)}
\addplot[color=green,domain=-5:5, samples=100]{tanh(x)}; //Note the change
\addlegendentry{f(x)=tanh(x)}
\end{axis}
\end{tikzpicture}
\end{figure}