更改标签键和标题与GGPLOT2

问题描述:

密度曲线图我有这个代码密度图:更改标签键和标题与GGPLOT2

p <- ggplot(data=paddling, aes(frequency, color=type, fill=type)) 
p <- p + geom_density(alpha=0.2) 
p <- p + scale_x_continuous(limits=c(0, 1000),name='Frequency (Hz)') 

enter image description here

我想更改图例键和图例标题。我试着使用:

p <- p + scale_fill_discrete(name='Paddling type',labels=c("Hands only", "Hands and feet")) 

,但它只是增加了一个传奇的另一个的上面:

enter image description here

任何帮助将不胜感激!谢谢!!

+0

您是否尝试过scale_fill_continuous? – TKN

+0

这给我一个错误:错误:提供给连续比例的离散值 – user3406207

你正在做的是在那里。由于你有两个使用的填色(填充和颜色),这两个都需要一个图例。所以,如果您更改图例的标题和标签以填充,颜色的图例不会更改并按原样绘制。因此,解决的办法是增加一个“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 

enter image description here

这可能是一个有点麻烦,如果你有很多的映射,水平。这是另一种方法:更改数据(列名称和因子级别)

#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)') 
+0

谢谢,我明白了!这很好用! – user3406207