我有一个函数,它通过将ggplot对象转换为grob并修改图层来进行操作。我希望该函数返回一个ggplot对象而不是grob。有没有一种简单的方法将grob转换回gg? ggplotGrob 的文档非常稀少。 下面是一个简单的例子: P <- ggplot(iris) + geom...
我正在尝试使用ggplot2重现以下[基本R]图表: 我已经成功实现了大部分内容,但目前让我困惑的是将连接右侧边际地毯图和相应标签的线段放置在何处。标签已通过anotation_custom()绘制(如下图所示),并且我使用了@baptiste的技巧关闭裁剪以允许在图形边缘绘制。 尽管...
在具有多个分面变量的绘图中,ggplot2重复用于"外部"变量的分面标签,而不是跨越"内部"变量所有级别的单个跨度分面条。我有一些代码,使用gtable包中的gtable_add_grob来覆盖重复的外部分面标签,改为使用单个跨度分面条。 不幸的是,由于分面条grob结构的更改,这段代码在g...
我有点惊讶,这从未引起过我的注意(我猜直到今天我才没有用圆形线段画得很多)。 当画一个带有圆形线段结束的线段时,这当然会作为额外的图形元素添加进去,但它通过超出给定的值来为图形表示增加了“价值”。我该如何改变这个呢? 我认为需要重新计算原始值,以便在添加圆形结束时达到正确的值,但这需要在绘...
我如何在ggplot中获取geom_point的x和y坐标,参考框架是整个绘图图像? 我可以使用以下代码创建一些包含geom_point的ggplot:library(ggplot2) my.plot <- ggplot(data.frame(x = c(0, 0.456, 1), ...
我尝试使用arrangeGrob()将两个图表放在同一个.jpg文件中。我刚开始学习网格和grobs,我认为我知道问题所在:pheatmap是一个网格对象,包含grob对象,不允许我将其放在arrangeGrob中。这是真的吗? 我是否需要将qplot放入网格中,将pheatmap放入网格中...
我希望能够在grid.arrange中移除默认插入的图表和表格之间的大间距,如下所示:require(ggplot2) require(gridExtra) list1=data.frame(mtcars[1:3, ]) # Dummy data p1 = ggplot(list1, ae...
这是对我之前问题的跟进,我当时在寻找一个解决方案,让轴先绘制,然后再是数据。答案适用于那个具体的问题和示例,但它引出了一个更普遍的问题如何改变底层 grobs 的绘图顺序。首先是轴,然后是数据。 很像面板网格 grob 可以上下绘制一样。 面板网格和轴 grobs 显然生成方式不同 - 轴...