以下 MWE
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[scale=0.75]
\begin{axis}[ylabel=Y-Axis, xlabel=X-Axis, xmin=0.000, xmax=0.9, ymin=0, ymax=12, clip=false, yticklabel pos=right, ylabel near ticks]
\pgfplotsinvokeforeach{2,3,5,10}{
\addplot[mark=none, domain=0.000:0.9, thick] {-ln(x/#1^2)/ln(#1)}; %Varying R values
}
\end{axis}
\end{tikzpicture}
\end{document}
得到以下图表
从数学上来说,当这些线到达盒子左侧的 x=0 时,它们应该延伸到无穷大。
让这些线靠近盒子边缘或以其他方式填充它们以使它们不被切断的“最佳方法”是什么?
答案1
您将需要使用该samples
选项来addplot
增加数量:
\addplot[mark=none, domain=0.000:0.9, thick,samples=40] {-ln(x/#1^2)/ln(#1)} node [pos=0,left] {$R=#1$}; %Varying R values
这40
只是一个猜测。
编辑,实际上的样本值500
可能更符合您的要求,因为40
它不会给您带来任何不同的东西。
使用样本值,500
您将获得以下结果:
编辑 2:按照 @Jake 的建议,您确实可以使用samples at
选项来addplot
指定 x 值中需要更多定义/样本的间隔。在此特定情况下,samples at={0.001,0.002,...,0.01,0.02,...,0.9}
为您提供 0.001 和 0.01 之间每 0.001 的一个样本以及 0.01 和 0.9 之间每 0.01 的一个样本。这当然是手动设置,必须适应您的不同图,但在这种情况下,它特别有效。此外,该smooth
选项可以消除图中的大部分粗糙之处:
该解决方案的优点samples=500
是它在各个图中都相当通用,但它确实需要更多的计算,这会增加编译时间,但如果你绘制的事物在整个 x 范围内变化很大(tan(x)
例如),它可能是最好的解决方案。