【问题标题】:Changing legend labels in ggplot2 [duplicate]更改ggplot2中的图例标签[重复]
【发布时间】:2019-09-29 14:09:03
【问题描述】:

我想更改图例中的标签。我知道这听起来很简单,只是实际的图表是交互式的,所以我不会预先知道标签可能采用的值的范围。

更简单的图表如下所示

set.seed(1990)
library(reshape2)
library(viridis)
df <- melt(outer(rnorm(100), rnorm(100)), varnames = c("X1", "X2"))
p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))
p1 + scale_fill_viridis() + coord_equal()

以上应该产生

我想更改图例标签,使其仅将标签放在图例的末端。

例如,在最高点(在图表中为 8),它会将其标记为“最高值”,而另一个极端将具有“最低值”。在这两者之间,不需要任何标签。

下面是一个示例,其中图例用“相对低”和“相对高”来描述图表

【问题讨论】:

    标签: r ggplot2 legend legend-properties


    【解决方案1】:

    以下代码用“最高值”和“最低值”重新标记图例。至于交互位,如果在绘图之前数据是子集,那么图例将适合数据子集。

    library(reshape2)
    library(viridis)
    library(ggplot2)
    
    set.seed(1990)
    df <- melt(outer(rnorm(100), rnorm(100)), varnames = c("X1", "X2"))
    
    low <- min(df$value)
    high <- max(df$value)
    p1 <- ggplot(df, aes(X1, X2)) + 
      geom_tile(aes(fill = value)) +
      coord_equal() + 
      scale_fill_continuous(type = "viridis", 
                            breaks = c(low, high), 
                            labels = c("Lowest value", "Highest value"))
    p1
    

    【讨论】:

      猜你喜欢
      • 2019-03-29
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 2021-01-02
      • 2021-03-19
      • 2013-12-30
      相关资源
      最近更新 更多