你正在做的是在那裏。由於你有兩個使用的填色(填充和顏色),這兩個都需要一個圖例。所以,如果您更改圖例的標題和標籤以填充,顏色的圖例不會更改並按原樣繪製。因此,解決的辦法是增加一個「scale_color_discrete」:
#generate data
set.seed(123)
n=1000
paddling <- data.frame(frequency=runif(n,0,n),
type=sample(c("hand_only","with_feet"),n,T))
#plot
p <- ggplot(data=paddling, aes(frequency, color=type, fill=type)) +
geom_density(alpha=0.2)+
scale_x_continuous(limits=c(0, 1000),name='Frequency (Hz)') +
scale_fill_discrete(name='Paddling type',labels=c("Hands only", "Hands and feet"))+
scale_color_discrete(name='Paddling type',labels=c("Hands only", "Hands and feet"))
p
這可能是一個有點麻煩,如果你有很多的映射,水平。這是另一種方法:更改數據(列名稱和因子級別)
#note the backticks needed for space
paddling$`Paddling type` <- paddling$type
levels(paddling$`Paddling type`)
levels(paddling$`Paddling type`) <- c("Hands only","Hands and feet")
p2 <- p <- ggplot(data=paddling, aes(frequency, color=`Paddling type`, fill=`Paddling type`)) +
geom_density(alpha=0.2)+
scale_x_continuous(limits=c(0, 1000),name='Frequency (Hz)')
您是否嘗試過scale_fill_continuous? – TKN
這給我一個錯誤:錯誤:提供給連續比例的離散值 – user3406207