请考虑:
dalist = {{1, 1, 1}, {2, 2, 2}, {3, 3, 3}, {4, 4, 4}, {5, 5, 5},
{1, 2, 1}, {2, 3, 1}, {3, 4, 1}, {4, 5, 1}, {5, 6, 1}}
我使用以下内容绘制上面的#2
& #3
是x& y坐标
Graphics@MapThread[Point[{#2, #3}] &, Transpose@dalist]
#1
时间参考I
我想用它来上色
分。
我的数据范围为1到30个。
#1 =1
应始终屈服于
相同的颜色。
编辑:建立以下解决方案
答案 0 :(得分:2)
您可以使用ColorData
:
Graphics@MapThread[{ColorData[1][#1], Point[{#2, #3}]} &,
Transpose@dalist]
答案 1 :(得分:2)
尝试:
datlist = Flatten[Table[{i, j + i, j}, {i, 1, 20}, {j, 1, 20}], 1];
colordata = 60; (* Try different palettes 1 .. 62 *)
Graphics[(Sequence @@
{Directive[
ColorData[colordata][Mod[#[[1]], ColorData[colordata, "Range"][[2]]]]],
PointSize -> Large, Point[{#[[2]], #[[3]]}]} & /@ datlist),
Frame -> True]
修改
使用BlackBodySpectrum
:
datlist = Flatten[Table[{i, j + i, j}, {i, 1, 20}, {j, 1, 20}], 1];
colordata = "BlackBodySpectrum";(*Try different palettes 1.. 62*)
Graphics[(
Sequence @@ {Directive[
ColorData[
colordata][#[[1]] ColorData[colordata,
"Range"][[2]]/(Length@datlist/
Length@Select[datlist, #[[1]] == 1 &])]],
PointSize -> Large, Point[{#[[2]], #[[3]]}]} & /@ datlist),
Frame -> True]
答案 2 :(得分:2)
不需要MapThread
Graphics[{PointSize -> 0.05, {ColorData[1][#1], Point[{#2, #3}]} & @@@dalist}]
您可以使用Blend
滚动自己的图像渐变:
Graphics[{PointSize -> 0.05,
{Blend[{Red, Yellow, Blue}, #1/5], Point[{#2, #3}]} & @@@ dalist}]
请注意,您必须自己缩放数据范围,以便最大值生成1且最小值为0(如果您希望最佳地使用可用范围)