Plot Mathematica中按索引绘制3D点的颜色列表点

Plot Mathematica中按索引绘制3D点的颜色列表点,plot,wolfram-mathematica,point,Plot,Wolfram Mathematica,Point,是否可以根据列表索引值为点着色?假设我有一组坐标 l1 := {{20.729858261394142, -11.014787072072988, 20.910738872021085}, {26.754953134772755, 12.795549555413617, 12.35084230079088}, {-26.240583655553486, 14.046344120397391, 4.267648394595125}, {-28.350142916856896, -15.381100

是否可以根据列表索引值为点着色?假设我有一组坐标

l1 := {{20.729858261394142, -11.014787072072988, 20.910738872021085}, {26.754953134772755, 12.795549555413617, 12.35084230079088}, {-26.240583655553486, 14.046344120397391, 4.267648394595125}, {-28.350142916856896, -15.381100510373342, 2.203525286738756}}
然后我使用这个Mathematica命令

ListPointPlot3D[l1, PlotStyle -> {Blue, PointSize[0.025]}]
我希望能够将第一个点指定为红色,第二个点指定为绿色,第三个点指定为蓝色,等等

我不希望对多个
ListPointPlot3D
命令使用
Show[…]


我找到了,但是这个颜色是基于(x,y,z)坐标值的。

我计算出来的。我们可以用,比如说,

Graphics3D[{PointSize[0.05], Point[l1,
VertexColors -> (Blend[{Red, Green, Blue, Yellow}, #] & /@ Rescale@Range@Length[l1])]}, 
BoxRatios -> {1, 1, 1}, Axes -> False]

我算出来了。我们可以用,比如说,

Graphics3D[{PointSize[0.05], Point[l1,
VertexColors -> (Blend[{Red, Green, Blue, Yellow}, #] & /@ Rescale@Range@Length[l1])]}, 
BoxRatios -> {1, 1, 1}, Axes -> False]

我算出来了。我们可以用,比如说,

Graphics3D[{PointSize[0.05], Point[l1,
VertexColors -> (Blend[{Red, Green, Blue, Yellow}, #] & /@ Rescale@Range@Length[l1])]}, 
BoxRatios -> {1, 1, 1}, Axes -> False]

我算出来了。我们可以用,比如说,

Graphics3D[{PointSize[0.05], Point[l1,
VertexColors -> (Blend[{Red, Green, Blue, Yellow}, #] & /@ Rescale@Range@Length[l1])]}, 
BoxRatios -> {1, 1, 1}, Axes -> False]
另一种方式:

Graphics3D[{PointSize[0.05],
    MapIndexed[ { Blend[{Red, Green, Blue, Yellow},
        (1/Length@l1) First@#2], Point[#]} &, l1]}]
在这种形式下,您可以很容易地将
切换到
球体
,这样看起来更漂亮。

另一种方式:

Graphics3D[{PointSize[0.05],
    MapIndexed[ { Blend[{Red, Green, Blue, Yellow},
        (1/Length@l1) First@#2], Point[#]} &, l1]}]
在这种形式下,您可以很容易地将
切换到
球体
,这样看起来更漂亮。

另一种方式:

Graphics3D[{PointSize[0.05],
    MapIndexed[ { Blend[{Red, Green, Blue, Yellow},
        (1/Length@l1) First@#2], Point[#]} &, l1]}]
在这种形式下,您可以很容易地将
切换到
球体
,这样看起来更漂亮。

另一种方式:

Graphics3D[{PointSize[0.05],
    MapIndexed[ { Blend[{Red, Green, Blue, Yellow},
        (1/Length@l1) First@#2], Point[#]} &, l1]}]

在这种形式下,您可以很容易地将
切换到
球体
,这看起来更漂亮。

另一种方法是使用ListPointPlot3D,只需为每个点添加额外的花括号

ListPointPlot3D[{{{1, 0.5, 1}}, {{1, 1, 1}}, {{1, 1.5, 1}}},
  PlotStyle -> {
    Directive[{Red, PointSize[0.03]}],
    Directive[{Blue, PointSize[0.04]}], 
    Directive[{Black, PointSize[0.03]}]
    }
]

使用ListPointPlot3D的另一种方法是为每个点添加额外的花括号

ListPointPlot3D[{{{1, 0.5, 1}}, {{1, 1, 1}}, {{1, 1.5, 1}}},
  PlotStyle -> {
    Directive[{Red, PointSize[0.03]}],
    Directive[{Blue, PointSize[0.04]}], 
    Directive[{Black, PointSize[0.03]}]
    }
]

使用ListPointPlot3D的另一种方法是为每个点添加额外的花括号

ListPointPlot3D[{{{1, 0.5, 1}}, {{1, 1, 1}}, {{1, 1.5, 1}}},
  PlotStyle -> {
    Directive[{Red, PointSize[0.03]}],
    Directive[{Blue, PointSize[0.04]}], 
    Directive[{Black, PointSize[0.03]}]
    }
]

使用ListPointPlot3D的另一种方法是为每个点添加额外的花括号

ListPointPlot3D[{{{1, 0.5, 1}}, {{1, 1, 1}}, {{1, 1.5, 1}}},
  PlotStyle -> {
    Directive[{Red, PointSize[0.03]}],
    Directive[{Blue, PointSize[0.04]}], 
    Directive[{Black, PointSize[0.03]}]
    }
]

有,请迁移此线程。我不知道如何做。有,请迁移此线程。我不知道如何做。有,请迁移此线程。我不知道如何做。有,请迁移此线程。有,请迁移此线程。我不知道如何做。