首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用grid.arrange创建宽度相同的地块(不包括图例)

如何使用grid.arrange创建宽度相同的地块(不包括图例)
EN

Stack Overflow用户
提问于 2022-04-11 07:15:35
回答 1查看 164关注 0票数 1

我在下面创建了一个图,其中两个图的宽度不一样,因为图例中的文本长度超过了图B中的文本长度。

我使用以下代码:

代码语言:javascript
运行
AI代码解释
复制
#Plot A
A<- ggplot(df_a, aes(x=Timestamp, y=Frequency, fill=Topic)) + 
  scale_x_date(date_breaks = '1 month', date_labels = "%b")+
  geom_area(alpha=0.6 , size=1, colour="black", position = position_fill())+
  ggtitle("Plot A")


# Plot B
B<- ggplot(df_b, aes(x=Timestamp, y=Frequency, fill=Topic)) + 
  scale_x_date(date_breaks = '1 month', date_labels = "%b")+
  geom_area(alpha=0.6 , size=1, colour="black", position = position_fill())+
  ggtitle("Plot B")

title=text_grob("", size = 13, face = "bold") #main title of plot
grid.arrange(grobs = list(R,Q), ncol=1, common.legend = TRUE, legend="bottom",
             top = title, widths = unit(0.9, "npc"))

我甚至使用widths = unit(0.9, "npc")作为建议的here,但它保持了两个情节的宽度,包括图例文本。因此,地块的实际宽度仍然是不相等的。

有人能指点我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-11 07:31:40

您可以添加一些图A的间距图例标签,这也将保持图例键框很好地对齐,并且标签实际上是正确的。

代码语言:javascript
运行
AI代码解释
复制
#Plot A
A<- ggplot(df_a, aes(x=Timestamp, y=Frequency, fill=Topic)) + 
  scale_x_date(date_breaks = '1 month', date_labels = "%b")+
  geom_area(alpha=0.6 , size=1, colour="black", position = position_fill())+
  ggtitle("Plot A") +
  theme(legend.spacing.x = unit(6.1, 'mm'))


# Plot B
B<- ggplot(df_b, aes(x=Timestamp, y=Frequency, fill=Topic)) + 
  scale_x_date(date_breaks = '1 month', date_labels = "%b")+
  geom_area(alpha=0.6 , size=1, colour="black", position = position_fill())+
  ggtitle("Plot B")



title=text_grob("", size = 13, face = "bold") #main title of plot
grid.arrange(grobs = list(A, B), ncol=1, common.legend = TRUE, legend="bottom",
             top = title, widths = unit(0.9, "npc"))

包和使用的数据

代码语言:javascript
运行
AI代码解释
复制
library(gridExtra)
library(ggplot2)
library(ggpubr)

set.seed(1)

df_a <- data.frame(Timestamp = rep(seq(as.Date('2022-01-01'), 
                                       as.Date('2022-12-01'),
                                       by = 'month'), 5),
                   Frequency = runif(60, 0.1, 1),
                   Topic = rep(LETTERS[1:5], each = 12))

df_b <- data.frame(Timestamp = rep(seq(as.Date('2022-01-01'), 
                                       as.Date('2022-12-01'),
                                       by = 'month'), 5),
                   Frequency = runif(60, 0.1, 1),
                   Topic = rep(c('AAA', 'BBB', 'CCC', 'DDD', 'EEE'), each = 12))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71830287

复制
相关文章
R绘图笔记 | 二维散点图与统计直方图组合
前面介绍了散点图、柱状图、直方图和核密度估计图,有时候散点图不能很直观的看的出数据的分布情况,这里介绍散点图与统计直方图组合绘制。
DoubleHelix
2020/11/11
1.7K0
R绘图笔记 | 二维散点图与统计直方图组合
ArcGIS PRO基础教程(二)
获得整个范围的ph分布图(注:需选择范围与地块图层dk相同,注意设置坐标系与dk图层相同,不然会报错)
陈南GISer
2021/08/19
1.3K0
ArcGIS PRO基础教程(二)
ArcGIS PRO基础教程(二)
获得整个范围的ph分布图(注:需选择范围与地块图层dk相同,注意设置坐标系与dk图层相同,不然会报错)
陈南GISer
2021/08/18
1.2K0
[R语言]数据可视化的最佳解决方案:ggplot2
ggplot是一个拥有一套完备语法且容易上手的绘图系统,在Python和R中都能引入并使用,在数据分析可视化领域拥有极为广泛的应用。本篇从R的角度介绍如何使用ggplot2包,首先给几个我觉得最值得推荐的理由:
TOMOCAT
2020/06/10
2.7K0
ggplot2学习笔记之图形排列
作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源
生信宝典
2018/12/18
2.4K0
ggplot2学习笔记之图形排列
PyTorch入门视频笔记-创建数值相同的张量
创建元素值为全 0 或全 1 的张量是非常常见的初始化手段,通过 torch.zeros() 和 torch.ones() 函数即可创建任意形状,且元素值全为 0 或全为 1 的张量。
触摸壹缕阳光
2020/11/20
1.5K0
PyTorch入门视频笔记-创建数值相同的张量
如何彻底删除Oracle数据库,以创建相同实例名称的库
今天建库时选择了OMF方式,结果文件名称采用Oracle自动命名的方式,看不懂啊,于是乎决定删除再重建。 Oracle提供了删除数据库的指令:drop database。 需要数据库处于mount状态,然后alter system enable restricted session;,网上有帖子说还需要exclusive,由于我是VM装的,用户只有我一个,所以不用可以。由于当前处于open状态,需要改为mount,执行: SQL> alter database close; alter database close * ERROR at line 1: ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected 原因是有个session仍连接,退出后再次执行, SQL> alter database close; Database altered. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> alter system enable restricted session; System altered. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> drop database; Database dropped. 此时alert.log记录信息: Create Relation ADR_CONTROL Create Relation ADR_INVALIDATION Create Relation INC_METER_IMPT_DEF Create Relation INC_METER_PK_IMPTS USER (ospid: 8748): terminating the instance Instance terminated by USER, pid = 8748 Deleted Oracle managed file /opt/app/ora11g/oradata/BISAL/controlfile/o1_mf_9x4fgq77_.ctl Deleted Oracle managed file /opt/app/ora11g/flash_recovery_area/BISAL/controlfile/o1_mf_9x4fgypb_.ctl Completed: drop database Shutting down instance (abort) License high water mark = 2 Fri Jul 25 19:09:26 2014 Instance shutdown complete 到oradata路径下看已经没有任何文件了,那么认为这个数据库已经被删除。 但再次执行dbca,企图创建相同实例的库时报错:
bisal
2019/01/29
3.6K0
多个FeignClient使用相同的name
FeignClient标签默认使用name属性作为bean name,name属性同时为服务名。 如果指定了contextId属性,则使用contextId作为bean name。 如此可为一个服务创建多个FeignClient: @FeignClient(name = "my-service-id", contextId = "my-service-id-api1") public interface Api1FeignClient { } @FeignClient(name = "my-service
路过君
2020/12/17
3.5K0
如何在 Python 中的绘图图形上手动添加图例颜色和图例字体大小?
Plotly 的 update_layout() 方法以及legend_font_color和legend_font_size参数可用于手动添加图例颜色和字体大小。下面提供了语法的插图 -
很酷的站长
2023/08/11
9780
如何在 Python 中的绘图图形上手动添加图例颜色和图例字体大小?
mish函数_实现多态的方式不包括
class Mish(nn.Module):   @staticmethod   def forward(x):     return x * F.softplus(x).tanh()
全栈程序员站长
2022/09/20
4050
Seaborn-让绘图变得有趣
如果曾经在Python中使用过线图,条形图等图形,那么一定已经遇到了名为matplotlib的库。
代码医生工作室
2019/10/21
3.7K0
Seaborn-让绘图变得有趣
如何使用PHP创建完整的日志
主要有2种用于保存日志以跟踪用户事件的方法。一种是保存日志文件,另一种是保存在数据库中。
Lemon黄
2020/07/07
1.3K0
这些条形图的用法您都知道吗?
条形图专用于离散变量和数值变量之间的可视化展现,其通过柱子的高低,直观地比较离散变量各水平之间的差异,它被广泛地应用于工业界和学术界。在R语言的ggplot2包中,读者可以借助于geom_bar函数轻松地绘制条形图。对于条形图大家对其的印象是什么呢?又见过哪些种类的条形图呢?在本篇文章我将带着各位网友说道说道有关条形图的哪些品种。
1480
2019/08/05
5.6K0
这些条形图的用法您都知道吗?
最大宽度最小宽度
    css3又加入了min-width,min-height,max-with,max-height等属性
十月梦想
2018/08/29
3.1K0
CBO如何选择相同cost的索引
根据10053显示,可以看出,IDX_Z_01和IDX_Z_02这两个索引,cost相同,CBO会选择何种执行计划?
bisal
2019/01/30
9310
可视化绘制技巧|对多图合理排版布局
通常而言,在绘制图形的时候都是绘制某一种类型的一张图形,例如绘制一张散点图,绘制直方图。但有的时候我们希望同时展示多幅图形,可能是因为这些图形有某种联系,需要共同展示才能够更好的表达数据中蕴含的信息。之前介绍的边际图形就是这样的一个例子。本章节会介绍,当我们绘制了好了多幅图形之后,如何将多幅图形合并起来。
DataCharm
2021/02/22
2.7K0
可视化绘制技巧|对多图合理排版布局
sql快速创建一张相同表结构的表
根据t_bond_basic_info表,创建表结构相同的表,取老表中的一部分字段t_bond_basic_info_new 后面的条件 where id>146000 创建的时候把id>146000的数据写到新表中,如果where 1<>1,只创建表结构,不把数据写进去
周小董
2019/03/25
3.1K0
R可视化 | 混合多个图形
gridExtra包让混合多个图片变得轻而易举。它提供了grid.arrange() 函数来完成 这个任务。它的nrow参数允许指定如何安排布局。
朱小五
2020/09/07
1.4K0
R可视化 | 混合多个图形
点击加载更多

相似问题

使用grid_arrange_shared_legend或grid.arrange用共享图例控制地块宽度

23

多地块使用grid.arrange

12

grid.arrange使用地块列表

14

如何使用grid.arrange移动图例位置

20

grid.arrange为列表中的所有地块绘制相同的图形

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文