我有一个点列表,我想在 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 值。
最佳答案
一些可重复的数据会很有帮助:
DF <- expand.grid(x=1:100, y=1:100)
DF$z <- abs(sin(DF$x/34) * cos(DF$y/22))
x
和y
是从1到100的网格; z
的范围在 0 到 1 之间(该函数没有什么特别的,只是保持在 0 到 1 之间的东西,并且没有非常简单的结构)。
基础图形
plot(DF$x, DF$y, col=rgb((colorRamp(c("blue", "red"))(DF$z))/255), pch=19)
ggplot2
library("ggplot2")
ggplot(DF, aes(x, y, colour=z)) +
geom_point(shape=19) +
scale_colour_gradient(low="blue", high="red")
关于r - 在 R 中的光谱上对绘图点进行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15791698/