如何在aes颜色变量中使用scale_colour_步骤而不出错:装箱的比例仅支持连续数据?

如何在aes颜色变量中使用scale_colour_步骤而不出错:装箱的比例仅支持连续数据?,r,ggplot2,R,Ggplot2,我有一个带有x,y坐标的数据框和几十列我想用scale\u color\u步骤给点上色的列。我想使用要传递给aes的变量在循环中创建多个绘图 下面是一个简单的示例,显示了我得到的错误: df <- data.frame( x = runif(100), y = runif(100), z1 = rnorm(100) ) cn <- colnames(df)[3] gg <- list() for(i in 1:length(cn)) { gg[[i]] &l

我有一个带有x,y坐标的数据框和几十列我想用scale\u color\u步骤给点上色的列。我想使用要传递给aes的变量在循环中创建多个绘图

下面是一个简单的示例,显示了我得到的错误:

df <- data.frame(
  x = runif(100),
  y = runif(100),
  z1 = rnorm(100)
)

cn <- colnames(df)[3]
gg <- list()

for(i in 1:length(cn)) {
  gg[[i]] <- ggplot(df, aes(x, y, colour = !!cn[i])) +
    geom_point() +
    scale_colour_steps()
}
gg
我曾尝试使用as.numeric(as.character(.))将变量转换为数值,但这对我来说并不奏效

如何解决此错误?

请尝试:

library(ggplot2)

df <- data.frame(
  x = runif(100),
  y = runif(100),
  z1 = rnorm(100)
)

cn <- colnames(df)[3]
gg <- vector('list', length(cn))

for(i in 1:length(cn)) {
  gg[[i]] <- ggplot(df, aes(x, y, colour = .data[[cn[i]]])) +
    geom_point() +
    scale_colour_steps()
}
gg
库(ggplot2)
df
library(ggplot2)

df <- data.frame(
  x = runif(100),
  y = runif(100),
  z1 = rnorm(100)
)

cn <- colnames(df)[3]
gg <- vector('list', length(cn))

for(i in 1:length(cn)) {
  gg[[i]] <- ggplot(df, aes(x, y, colour = .data[[cn[i]]])) +
    geom_point() +
    scale_colour_steps()
}
gg