由于您没有提供示例,我通过创建 3d 自动回避随机游走来编造一些示例:
Clear[saRW3d]
saRW3d[steps_]:=
Module[{visited},
visited[_]=False;
NestList[
(Function[{randMove},
If[
visited[#+randMove]==False,
visited[#+randMove]=True;
#+randMove,
#
]
][RandomChoice[{{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}}]])&,
{0,0,0},
steps
]//DeleteDuplicates
]
(这有点麻烦,但可以完成工作;它会在 3d 中生成随机游走,从而避免自身,即避免在后续步骤中重新访问相同的地方)。
然后我们像这样产生 100000 步
dat = saRW3d[100000];
这就像我理解您的数据点一样。然后我们根据它是哪一步来改变颜色:
datpairs = Partition[dat, 2, 1];
len = Length@datpairs;
dressPoints[pts_, lspec_] := {RGBColor[(N@First@lspec)/len, 0, 0],
Line@pts};
datplt = MapIndexed[dressPoints, datpairs];
这也可以像其他答案一样一次性完成
datplt=MapIndexed[
{RGBColor[(N@First@#2)/Length@dat, 0, 0], Line@#1} &,
Partition[dat, 2, 1]
]
但我倾向于避免这种结构,因为我发现它们更难阅读和修改。
最后绘制结果:
Graphics3D[datplt]
随着时间的推移,路径会变得越来越红。
如果这是你所追求的,我可以详细说明。
编辑:可能有更简单的方法来做到这一点......
EDIT2:显示大量点以证明在 arrows 不易扩展的情况下及时查看定性趋势非常有用。
EDIT3:添加了单行版本。