减少ggplot中的图例大小超出默认大小

 喵喵的诱惑_204 发布于 2023-02-10 13:34

我的目标是在包中ggplot使用并将它们组合成一个单独的绘图.grid.arrangegridExtra

我有一个问题,因为ggplot当我试图将这些地块并排放置时,我的传说(虽然适合单个地块的尺寸)太大了grid.arrange.生成的组合图减少了x轴,但保留了图例的原始大小.所以结果是一个非常瘦的情节,旁边是一个不必要的大传奇.所以我想减少每个情节中图例的大小,足以让我可以并排放置我的情节.或者可能会缩小它们以使它们进入实际的情节而不会过度专注.

V1<-rnorm(10)
V2<-rnorm(10)
V3<-rnorm(10)
DF<-data.frame(V1,V2,V3)


ggplot(DF,aes(x=V1,y=V2,size=V3))+
geom_point(fill='red',shape=21)+
theme_bw()+
scale_size(range=c(5,20))

此绘图命令在绘图右侧生成标准图例大小.

在此输入图像描述

我尝试过使用不同的主题元素:

+theme(legend.key.size = unit(0.5, "cm")

要么

+theme(legend.key.cm"),legend.key.cm"),legend.position = c(0.7, 0.8))

虽然我可以使用这些主题命令使图例更大,但我不能使图例小于默认图例.那么有没有办法将图例缩小到超出默认大小?

我还可以更改我的pdf设备的默认大小,使其更宽,并适应大型传说,但我现在想使用标准的pdf大小.

1 个回答
  • 图例的重点是将绘图上的美学(例如,颜色,填充,形状或大小)映射到图例中标识的级别.参数legend.key.size,.width.height调整图例元素周围框的大小.使用颜色,填充和形状,您可以使图例项目尽可能小,但是对于大小,元素的大小会告诉您哪个泡泡对应于哪个图例项目,因此图例项目必须具有对应的大小对情节的看法.

    以下三种可能对您有所帮助:

    选项1:将图例放在图中.

    ggplot(DF,aes(x=V1,y=V2,size=V3))+
      geom_point(fill='red',shape=21)+
      theme_bw()+
      scale_size(range=c(5,20))+
      theme(legend.justification=c(1,0), legend.position=c(1,0))
    

    选项2:尽可能使用facet_wrap(...).这样,您只能获得一组图的一个图例.

    选项3:使用颜色和大小,然后完全隐藏大小图例.

    ggplot(DF,aes(x=V1,y=V2,size=V3, color=V3))+
      geom_point(shape=19)+
      theme_bw()+
      scale_size(range=c(5,20), guide="none")+
      scale_color_gradient(high="#ff0000", low="#ffffcc")   
    

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