【问题标题】:Change label keys and title on a density curve plot with ggplot2使用 ggplot2 更改密度曲线图上的标签键和标题
【发布时间】:2016-02-05 21:37:49
【问题描述】:

我有这个代码的密度图:

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)')

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

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

但它只是在另一个图例之上添加了另一个图例:

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

【问题讨论】:

  • 你试过 scale_fill_continuous 吗?
  • 这给了我一个错误:错误:提供给连续刻度的离散值

标签: r plot ggplot2 legend density-plot


【解决方案1】:

你正在做的事情已经完成了一半。由于您使用了两种美学(填充和颜色),因此这两种方法都需要一个图例。因此,如果您更改图例标题和填充标签,则颜色图例不会更改并按原样绘制。因此,解决方案是添加一个“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)') 

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 2020-04-20
    • 1970-01-01
    相关资源
    最近更新 更多