在R中的光谱上绘制着色点

时间:2013-04-03 15:32:43

标签: r colors plot

我有一个要在R中的图表上播放的点列表。为了获得3个级别的信息(X轴,Y轴和另一个),我想在图表上绘制点并为它们着色在第三个变量的比例上。我想要显示的每个点的百分比值为第三个变量(Z)。因此,如果A的Z值为0.95,我希望它是一个鲜红色,但由于B只有Z = 0.65,我希望它暗红色朝向蓝色。值从NA(我认为应该是蓝色)到0.99(亮红色)。

示例数据:

1   1   0.02937715
2   1   0.05872889
3   1   0.08802983
4   1   0.11725462
5   1   0.14637799
6   1   0.17537475
7   1   0.20421981
8   1   0.23288821
9   1   0.26135518
10  1   0.28959607

第三列给出Z值。

1 个答案:

答案 0 :(得分:14)

一些可重复使用的数据会有所帮助:

DF <- expand.grid(x=1:100, y=1:100)
DF$z <- abs(sin(DF$x/34) * cos(DF$y/22))

xy是1到100之间的网格; z的范围介于0和1之间(函数没有特别的,只是保持在0和1之间,并且没有非常简单的结构)。

基本图形

plot(DF$x, DF$y, col=rgb((colorRamp(c("blue", "red"))(DF$z))/255), pch=19)

enter image description here

GGPLOT2

library("ggplot2")
ggplot(DF, aes(x, y, colour=z)) +
  geom_point(shape=19) +
  scale_colour_gradient(low="blue", high="red")

enter image description here