我正在尝试改善这个数字:
\documentclass{standalone}
\begin{document}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{tikzpicture}
\begin{axis} [axis lines=center, height=46mm, width=120mm, ymin = 0.8499]
\addplot [domain=0:1, samples=3333, thick] { 1-(1-x)^floor(2/x) };
\end{axis}
\end{tikzpicture}
\end{document}
我想
- 使曲线不连续:当前向下的线条是纯粹的人工制品
- 避免 x=0.1 附近不存在的过渡
- 如果可能的话,让它更快。我准备做一个 x<1/30 左右的黑色三角形。
我认为使用显式循环在范围 ]1/(n+1),1/n[ 内绘制多条曲线是可行的方法;但是如何做呢?
答案1
也许是这样的?这不是很快,但你可以减少样本或\foreach
500 的限制。
\documentclass{standalone}
\usepackage {pgfplots}
\pgfplotsset {compat=1.17}
\begin{document}
\begin{tikzpicture}[line cap=round]
\begin{axis} [axis lines=center, height=45mm, width=120mm, xmin=0, ymin=0.8499]
\foreach\i in {2,...,500}
{%
\addplot[domain={2.001/(\i+1)}:{2/\i}, samples=11,smooth] {1-(1-\x)^floor(2/\x)};
}
\end{axis}
\end{tikzpicture}
\end{document}
答案2
这只是为了表明可以在单个图中引入跳跃:
\documentclass[tikz, border=1 cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis} [axis lines=center, height=46mm, width=120mm, ymin = 0.8499]
\addplot [
domain=0:1,
samples=3333,
thick,
unbounded coords=jump, line join=bevel,
x filter/.expression={
x>0.08 && floor(2/x)+0.01/x>2/x ? nan : x}
] { 1-(1-x)^floor(2/x) };
\end{axis}
\end{tikzpicture}
\end{document}