library(tidyverse)
library(poliscidata)
world_red <- world %>% group_by(dem_level4) %>% summarize(number_of_countries = n(), oil=sum(oil, na.rm = TRUE))
colors <- c("green", "blue", "orange", "red")
p1 <- ggplot(data = world_red)
aes(x = reorder(dem_level4, -oil) , y = oil,
fill = factor(number_of_countries) )
geom_col()
scale_fill_manual(values = colors)
變數“world”是加載包的一部分。
此代碼中沒有錯誤訊息,但圖例顯示為“factor(number_of_countries”),但當然應該只是“number_of_countries”。我怎樣才能做到這一點?
只是寫
fill = number_of_countries)
沒有呼叫因子 () 會導致錯誤訊息“提供給離散刻度的連續值”
uj5u.com熱心網友回復:
您可以將name引數添加到scale_fill_manual:
p1 <- ggplot(data = world_red)
aes(x = reorder(dem_level4, -oil) , y = oil,
fill = factor(number_of_countries) )
geom_col()
scale_fill_manual(name = "number_of_countries", values = colors)
或者您可以添加labs一行,然后為fill. 你也可以在這里更新 x 和 y 軸標簽(我在下面做了)。
library(tidyverse)
p1 <- ggplot(data = world_red)
aes(x = reorder(dem_level4, -oil) , y = oil,
fill = factor(number_of_countries) )
geom_col()
scale_fill_manual(values = colors)
labs(fill='number_of_countries',
y = "Oil",
x = "dem_level4")
輸出

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/462248.html
