R 更改打印点颜色以反映数据

R 更改打印点颜色以反映数据,r,R,我该如何修正我的情节,使GDP越低越黑,GDP越高越红?(我在一个介绍数据的Lit&Vis课程中,对R来说是相当新的) data您可以使用rgb功能执行此操作。它接受红色、绿色和蓝色的值,并输出颜色。对于红色、绿色和蓝色,黑色对应于零。因此,要从黑色变为红色,只需将绿色和蓝色设置为零,然后增加红色值 您需要介于0和1之间的值,因此首先应将变量转换为该范围 # make a copy of the data$pcGDP variable x <- data$pcGDP # convert

我该如何修正我的情节,使GDP越低越黑,GDP越高越红?(我在一个介绍数据的Lit&Vis课程中,对R来说是相当新的)


data您可以使用
rgb
功能执行此操作。它接受红色、绿色和蓝色的值,并输出颜色。对于红色、绿色和蓝色,黑色对应于零。因此,要从黑色变为红色,只需将绿色和蓝色设置为零,然后增加红色值

您需要介于0和1之间的值,因此首先应将变量转换为该范围

# make a copy of the data$pcGDP variable
x <- data$pcGDP

# convert to [0,1]
x <- (x-min(x))/(max(x)-min(x))

# create a vector of colours
col <- rgb(x, 0, 0) 

# plot
plot(log(data$pcGDP),
     data$life.expectancy, 
     cex=(data$total.population/1000000000)+1, 
     col=col
)
#复制$pcGDP变量的数据

x您可以使用
rgb
功能执行此操作。它接受红色、绿色和蓝色的值,并输出颜色。对于红色、绿色和蓝色,黑色对应于零。因此,要从黑色变为红色,只需将绿色和蓝色设置为零,然后增加红色值

您需要介于0和1之间的值,因此首先应将变量转换为该范围

# make a copy of the data$pcGDP variable
x <- data$pcGDP

# convert to [0,1]
x <- (x-min(x))/(max(x)-min(x))

# create a vector of colours
col <- rgb(x, 0, 0) 

# plot
plot(log(data$pcGDP),
     data$life.expectancy, 
     cex=(data$total.population/1000000000)+1, 
     col=col
)
#复制$pcGDP变量的数据
x下面给出了另一种解决方案(只提供灰度标)(更好的解决方案是切换到
ggplot2
图形系统)。制作函数

codegrey  <-  function(var,min,max) {
  var  <- (var-min)/(max-min)  
  var  <-  round(100*var)
  col1  <-  paste("grey",var,sep="")
  col1}
然后,您可以在如下打印命令中使用它:

plot(log(data$pcGDP),
     data$life.expectancy, 
     cex=(data$total.population/1000000000)+1, 
     col=codegrey(log(data$pcGDP),min(log(data$pcGDP)),
                                   max(log(data$pcGDP)))
)
(但你不应该称你的数据框为“数据”,你也不应该称你的狗为“狗”!)要获得R已知的所有颜色名称的列表,请键入命令
colors()

下面给出了另一种解决方案(只提供灰色刻度)(更好的解决方案是切换到
ggplot2
图形系统)。制作函数

codegrey  <-  function(var,min,max) {
  var  <- (var-min)/(max-min)  
  var  <-  round(100*var)
  col1  <-  paste("grey",var,sep="")
  col1}
然后,您可以在如下打印命令中使用它:

plot(log(data$pcGDP),
     data$life.expectancy, 
     cex=(data$total.population/1000000000)+1, 
     col=codegrey(log(data$pcGDP),min(log(data$pcGDP)),
                                   max(log(data$pcGDP)))
)
(但你不应该称你的数据框为“数据”,你也不应该称你的狗为“狗”!)要获得R已知的所有颜色名称的列表,请键入命令
colors()

我投票结束这个问题,因为它是关于如何在没有可复制示例的情况下使用R。对于颜色的使用,切换到“ggplot2”可能是一个示例。如果你坚持使用基本图形,那么就创建一个像CodeGray这样的函数。我投票将这个问题作为离题题来结束,因为它是关于如何在没有可复制示例的情况下使用R。对于这种颜色的使用,切换到“ggplot2”可能是一个示例。如果您继续使用基本图形,请创建一个类似codegrey的函数