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]}]
}
]
有,请迁移此线程。我不知道如何做。有,请迁移此线程。我不知道如何做。有,请迁移此线程。我不知道如何做。有,请迁移此线程。有,请迁移此线程。我不知道如何做。