将自定义数字添加到ggplot图例

 手机用户2502939381 发布于 2023-02-07 18:57

我正在绘制一个geom_tile情节,其中我有一个特定的每个点p-value.

该图以一种很好的方式绘制,并附p-value有图例的限制.

我要添加到此图例的是具有此数据的数据点的数量p-value.

例:

传说是这样的(每个值都有一个颜色):

0.05
0.04
0.03
0.02
0.01

我想拥有的是这样的:

0.05 58
0.04 34
0.03 85
0.02 54
0.01 10

我怎样才能将这个添加到ggplot2情节的传说中?

我尝试使用geom_text并将文本位置更改为图例,但它没有用.

UPDATE

pl <- ggplot(df.new) + geom_tile(aes(fill=z, x, y)) + 
      scale_fill_gradient(low="yellow", high="red", name="Legend1") + 
      stat_contour(breaks=c(0.001, 0.01, 0.05), aes(x=x, y=y, z=npvalue, colour=..level..)) +
      scale_colour_gradient2(low="black", mid="black", high="green", labels=paste(levels(c(0.001, 0.01, 0.05))))

我有这个情节,我正在geom_tilez变量中正确绘制然后stat_contour根据p值绘制一个.我想编辑stat_contour基于p-value我的初始问题中的as 的颜色标签,但我有这个错误:

Error in scale_labels.continuous(scale, breaks) : 
  Breaks and labels are different lengths

我的阴谋中的问题在哪里?

1 个回答
  • 您可以指定颜色labels的图例fill.

    示例数据集:

    set.seed(1)
    dat <- data.frame(x = rep(1:5), y = rep(1:10), 
                      z = factor(sample(seq(0.01, 0.05, 0.01), 100, TRUE)))
    

    该函数table计算不同的值dat$z:

    table(dat$z)
    
    # 0.01 0.02 0.03 0.04 0.05 
    #   13   25   19   26   17
    

    剧情:

    library(ggplot2)
    ggplot(dat) +
      geom_tile(aes(x = x, y = y, fill = z)) + 
      scale_fill_discrete(labels = paste(levels(dat$z), table(dat$z)))
    

    在最后一行中,labels创建了图例.

    在此输入图像描述

    2023-02-07 19:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有