如何为 R 中的箱线图分配颜色?只能使用 base R
How to assign colors to boxplot in R? Can only use base R
我在尝试为 R 中的箱线图分配颜色时遇到问题。这是我的代码和我尝试 运行 代码时的输出。真的不知道该怎么做
region1<-c("North-Apulia","Calabria","South-Apulia","Sicily")
region2<-c("Inland-Sardinia,","Coast-Sardinia")
region3<-c("Umbria","East-Liguria","West-Liguria")
# c - Boxplots
mycolors<-ifelse(levels(betterolivelabel)==region1,col="red",
ifelse(levels(betterolivelabel)==region2,col="blue",
ifelse(levels(betterolivelabel)==region3, col="green")))```
```Error in ifelse(levels(betterolivelabel) == region1, col = "red", ifelse(levels(betterolivelabel) == :
unused argument (col = "red")```
>
如果要比较 1 个以上的值,请使用 %in%
。当 none 个条件满足时,您还需要提供最终值。
lvls <- levels(betterolivelabel)
mycolors<-ifelse(lvls %in% region1,"red",
ifelse(lvls %in% region2,"blue",
ifelse(lvls %in% region3, "green", "black")))
我们可以使用case_when
library(dplyr)
lvls <- levels(betterolivelabel)
mycolors <- case_when(lvls %in% region1 ~ "red",
lvls %in% region2 ~ "blue",
lvls %in% region3 ~ "green",
TRUE ~ "black")
我在尝试为 R 中的箱线图分配颜色时遇到问题。这是我的代码和我尝试 运行 代码时的输出。真的不知道该怎么做
region1<-c("North-Apulia","Calabria","South-Apulia","Sicily")
region2<-c("Inland-Sardinia,","Coast-Sardinia")
region3<-c("Umbria","East-Liguria","West-Liguria")
# c - Boxplots
mycolors<-ifelse(levels(betterolivelabel)==region1,col="red",
ifelse(levels(betterolivelabel)==region2,col="blue",
ifelse(levels(betterolivelabel)==region3, col="green")))```
```Error in ifelse(levels(betterolivelabel) == region1, col = "red", ifelse(levels(betterolivelabel) == :
unused argument (col = "red")```
>
如果要比较 1 个以上的值,请使用 %in%
。当 none 个条件满足时,您还需要提供最终值。
lvls <- levels(betterolivelabel)
mycolors<-ifelse(lvls %in% region1,"red",
ifelse(lvls %in% region2,"blue",
ifelse(lvls %in% region3, "green", "black")))
我们可以使用case_when
library(dplyr)
lvls <- levels(betterolivelabel)
mycolors <- case_when(lvls %in% region1 ~ "red",
lvls %in% region2 ~ "blue",
lvls %in% region3 ~ "green",
TRUE ~ "black")