我正在使用“mpg”資料集和 ggplot2 包創建條形圖,并且條形圖的顏色需要由“類”變數定義,以便值“2seater”的顏色為紅色,對于值'pickup' 是綠色的,其他都是白色的。這是我的代碼:
mpg %>% ggplot(aes(class), fill = x) geom_bar(width = 0.7, color = "black", size = 0.8)
scale_fill_manual(values = c("2seater" = "red",
"compact" = "white",
"midsize" = "white",
"minivan" = "white",
"pickup" = "green",
"subcompact" = "white",
"suv" = "white"))
問題是,當我執行此代碼時,條的顏色保持為默認值。誰能告訴我我的代碼出了什么問題?非常感謝
uj5u.com熱心網友回復:
正如@user438383 在評論中建議的那樣,您需要在aes()
呼叫中指定填充變數。
library(ggplot2)
mpg |> ggplot(aes(class, fill = class))
geom_bar(width = 0.7)
scale_fill_manual(values = c("2seater" = "red",
"compact" = "white",
"midsize" = "white",
"minivan" = "white",
"pickup" = "green",
"subcompact" = "white",
"suv" = "white"))
theme(legend.position = "none")
由
uj5u.com熱心網友回復:
如果您有許多類別,您可能希望為少數類別指定顏色,并為其余類別指定默認顏色。
將引數設定(例如本例中的顏色規格)與代碼分開以生成繪圖也很方便。
library("tidyverse")
special_colors <- list(
"2seater" = "red",
"pickup" = "green"
)
default_color <- "white"
mpg %>%
ggplot(aes(class, fill = class))
geom_bar(width = 0.7)
scale_fill_manual(
values = unlist(special_colors),
na.value = default_color
)
theme(legend.position = "none")
由reprex 包于 2022-06-12 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491042.html
下一篇:如何洗掉ggplot2中的多余行