问题标签 [gtable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - ggplot2 - 在绘图顶部添加辅助 y 轴
对于出版物,我需要在现有绘图中添加第二个 y 轴。我遇到了一种方法来做到这一点(https://rpubs.com/kohske/dual_axis_in_ggplot2)。但是,我不太了解编码。我找不到一种方法来使正确的 y 轴也显示出来,而不仅仅是顶部边框。我的编码中缺少什么?这是我的虚拟数据:
r - 在 ggplot2 图之间添加多条曲线
我有两个 ggplot2 图,我想在它们之间绘制一系列(10-100)略有不同的曲线。也就是说,我将有一个两个面板的布局,并想绘制从左图到右图的连接线。到目前为止,我已经尝试通过将事物转换为 grob 并使用 gtable 包添加曲线来做到这一点。
为了说明,我有类似的东西:
产生这样的情节:
这几乎是正确的,只是只显示了最后一个 curveGrob 对象。我已经尝试过使用 z-index 来添加 grobs,最后一个绘制的总是会覆盖其他的。我希望我的绘图看起来一样,除了它应该显示两个绘图区域之间的所有 10 条曲线,而不仅仅是我现有代码中显示的那一条。
那么如何修改现有代码以显示所有 10 条曲线或使用不同的方法达到相同的效果呢?我坚持使用 ggplot2 作为主要情节,因为它们比所示的玩具示例复杂得多。
r - 构面的整体标签
这是一些用于生成具有两组构面的图形的最小代码。
我不知道如何添加整体构面标签,以便名称 Donatello 和 Raphael 位于顶部和右侧轴上。
我在 SO 上看到了一些类似的解决方案,但我无法确定代码的正面或反面。请你建议我的难题的答案?
这里有类似的问题,但如果我有两个以上的方面,它对我来说会失败。标签显示在图表内的某处。有没有办法使它适用于一般情况?
所以我在上面的链接中尝试了 rawr 的解决方案,它最终在多个列的同一个地方结束。这是更新为 rawr 解决方案的代码,但它在意想不到的地方产生了标签(对我来说,因为我不理解解决方案)。
请有人向我指出代码中告诉它一般方面标签应该有多宽的部分?
r - 重现具有双轴的“经济学人”图表
我试图 从《经济学人》(左边的那个)复制这张图表。该图表在左侧 y 轴上绘制了俄罗斯的亿万富翁数量,在右侧绘制了世界其他地区的亿万富翁数量。
- 为俄罗斯亿万富翁创建图表 (
p1
)。 - 为其他人创建图表 (
p2
)。 - 使用Kohske的代码将
p1
和组合p2
成双 y 轴图表。
数据:(内容billionaire.csv
)
代码:
为了用我选择的字体和颜色格式化文本“俄罗斯的数字”和“世界其他地区”,我把它们放在ggtitle
. 但是在步骤 3 中将图表组合在一起后,标题p2
丢失了,所以这就是我得到的全部
我想要实现的是
1. 在我选择的颜色和字体系列中添加文本“Rest of world”(不是默认的 Helvetica。)
2. 在 x 轴上添加标签 1996。
任何帮助表示赞赏。谢谢!
编辑:添加了数据集和完整代码。
EDIT2:仅供参考,我从这里得到了所有的 Officiana 字体:http
://people.oregonstate.edu/~hanshumw/Specie%20I.D./Signage%20Backup/FONT%20Officina%20full/ EDIT3:好的,我终于怎么样了通过摆弄网格级别的绘图来使其工作
把这个块放在前面ggsave(...)
,结果如下:
r - rasterGrobs 在 gtable 单元格中的绝对定位
我一直试图在 gtable 单元格中指定 rasterGrobs 的绝对位置,但没有成功。我希望能够使图像的范围与 y 轴上的值对齐。该脚本将钻芯图像与 ggplot2 刻面中绘制的多传感器数据对齐。例如,一个特定的射线照片核心图像需要其顶部为 192 毫米,底部为 1482 毫米,但我希望比例尺从 0 到 1523 毫米。请参阅包含的链接以获取我正在做的示例,但为简单起见,我仅在此处发布了 MWE。是否可以在 gtable 单元格内为 rasterGrob 指定绝对位置?
就下面的 MWE 而言,到目前为止,我唯一的解决方案是Rlogo.png
使用rasterGrob()
. 使用"native"
坐标似乎也不是我需要的。同样,我无法理解 in 中调用的位置参数gtable_add_grob()
。
在提出使用 rasterGrob 将图像添加到 ggplot 中的面板的解决方案之前进行了大量搜索。也许有人可以提出更优雅的解决方案?
r - 使用 facet_grid 的每个子图的 y 轴
我无法得到这个问题的答案。我和那个用户想要的是在使用 facet_grid() 时向所有列添加轴刻度和标签。
当我运行可重现的示例和解决方案时(在添加 abc=as.data.frame(abc) 以修复初始错误之后)我收到一条错误消息
gtable_add_grob(g, grobs = list(segmentsGrob(1, 0, 1, 1), segmentsGrob(1, ) 中的错误:并非所有输入的长度都为 1 或与 'grobs 相同的长度
我制作了自己的可重现示例,因为原始示例是 ehhm,有点奇怪:-)。它导致相同的错误消息
答案应该是这样的:
r - 如何在同一页面上绘制多个 ggplot2 图并在所有图上添加垂直线
类似的问题How to align multiple ggplot2 plots and add shadows over all them
我在上述问题上花了几天时间,但没有成功。
问题
我想在我的情节上添加一条垂直线。怎么做?
数据
可以在这里下载或像下面这样的迷你数据
代码
我得到以下图片:
看起来不错!
但是,当我发布代码时:
我只得到一条垂直线,顶部图和散点图已被覆盖。
我还尝试使用以下代码模仿克劳斯威尔克的解决方案:
但我只得到一条垂直线。
r - 如何管理 gtable() 的 t、b、l、r 坐标以正确绘制辅助 y 轴的标签和刻度线
我正在使用 facet_wrap 并且还能够绘制辅助 y 轴。然而,标签并没有绘制在轴附近,而是绘制得很远。我意识到如果我了解如何操作 grobs 的 gtable (t,b,l,r) 的坐标系,这一切都会得到解决。有人可以解释他们实际描绘的方式和内容 - t:r = c(4,8,4,4) 是什么意思。
带有 ggplot 的辅助 yaxis 有很多链接,但是当 nrow/ncol 大于 1 时,它们会失败。所以请教我网格几何和 grobs 位置管理的基础知识。
编辑:代码
@Sandy 这里是代码及其输出
唯一的问题是在最后一行中,辅助 y 轴标签位于面板内。我试图解决这个问题但无法解决