问题标签 [grob]

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.

0 投票
1 回答
852 浏览

r - R网格包:如何创建具有多种颜色的textGrob并将其定位在视口的中心

我需要类似以下内容,但字符串中每个单词的颜色不同:

我尝试为每个段创建单独的 grobs,然后将它们组合在一起,但我无法弄清楚如何将结果定位在视口的中心:

我尝试测量 gList 的宽度,也尝试使用 gTree,但不知何故,我被困在这个看似简单的任务上。

提前感谢您的任何帮助!

0 投票
1 回答
822 浏览

r - ggplot2中geom_point的npc坐标

如何在ggplot获取 geom_point的xy坐标,其中参考框架是整个绘制的图像?

我可以使用一些geom_point创建一个ggplot

这给出了:

在此处输入图像描述

通过将其转换为grob ,我可以提取有关此ggplot的一些附加信息,例如相对于绘图面板的坐标,由紫色箭头标记。但是,这忽略了轴占用的空间。

当我从整个图像的左下角开始测量时,如何获得xy坐标的值,用绿色箭头标记?

如果可能的话,我希望解决方案考虑到ggplot主题。添加一个类似主题的主题会影响轴,并且还会改变点相对于整个绘制图像的位置。+ theme_void()

更新:我意识到轴的字体大小会根据绘图的宽度和高度而变化,从而影响绘图面板的相对大小。因此,在不定义绘图宽度绘图高度的情况下以npc单位提供位置并非易事。如果可能,将geom_points的位置作为绘图宽度绘图高度的函数。

0 投票
1 回答
64 浏览

r - 如何将图例列绑定到 ggplot2 中的计算列?

该代码使用计算的每周回归线绘制数据。我想将图例与根据每周斜率计算的每周翻倍时间结合起来。

很高兴解决问题:我可以使用 geom_smooth 获得每周回归线。但是,我无法从 geom_smooth 中提取斜率系数(计算倍增时间)。因此,我不得不在 ggplot 部分之外进行等效回归。
有什么建议可以更优雅地做到这一点吗?

主要问题:如何将图例与计算的倍增时间列结合起来?经过大量的摆弄,我可以将图例放在这些计算出的倍增时间旁边。它看起来不太好,当我包含另一个数据点时,我不得不重新开始摆弄。建议将不胜感激。谢谢你。

e

0 投票
1 回答
482 浏览

python - 如何控制plotnine中的刻面高度和宽度?

我看过这篇文章ggplot2如何自动调整 facet_wrap 的每个构面的宽度?

我在想:

我怎样才能在plotnine中达到同样的效果?我没有找到类似的东西grob。对于作为 python3 管道一部分的绘图,我需要它,所以我真的不想将部分代码转换为 R。

谢谢您的帮助!

0 投票
1 回答
65 浏览

r - 如何在三重维恩图中添加逗号分隔符?

我是 R 的初学者,我有一个看起来像这样的功能代码

我想为大数字添加逗号分隔符,但不知道如何添加 prettyNum 或一些类似的功能。有人可以帮我吗?

0 投票
1 回答
217 浏览

r - 使用固定纵横比保存时左对齐ggplot

我正在构建一个自定义 ggplot 主题来标准化我生成的图形的外观和感觉。目标比这个最小的例子更复杂,所以我正在寻找一个通用的解决方案。我有几个关键目标:

  • 我希望所有图表都以相同的大小(3000 像素宽,1500 像素高)导出。
  • 我想控制绘图面板本身的纵横比。
  • 我想使用 textGrob 来包含数字。
  • 我希望图像左对齐

我面临的挑战是,当结合这两个约束时,保存的图像在窗口中居中 ggplot 图,这在默认情况下是有意义的,但在这种情况下看起来很糟糕。

我希望在导出时有一个通用的解决方案来左对齐 ggplot 面板。理想情况下,这也适用于多面图。

似乎使用 gridExtra、gtable、cowplot 和 egg 包中的一个或某种组合应该可以实现某些事情,但是在试验了几个小时之后,我有点不知所措。有谁知道我怎么能做到这一点?我的代码包含在下面。

这是生成的图像。如您所见,标题在底部左对齐,但 ggplot 本身是水平居中的。我也希望 ggplot 图左对齐。

图表输出:https ://i.stack.imgur.com/5EM2c.png

0 投票
1 回答
289 浏览

r - R: Is it possible to extract the original data from a gtable object created with grid.arrange and ggplot?

Problem description

I have created an gtable (also gTree grob gDesc) object myobj via myobj <- gridExtra::grid.arrange(g1,g2) from two ggplot objects g1,g2 some time ago and now I have to restore the data that I have used to create both ggplots. Is there a way to do this properly?

What I've tried so far

I have already tried to convert myobj using various functions, e.g., ggpubr::as_ggplot, resulting in an object with a waiver() as $data entry - so no success there - and I have also swept all the grobs entries in myobj where I in fact found the data points in the plot (looking like this

), which are, however, only the position coordinates $\in (0,1)$ w.r.t. the corresponding axis. Then I probably can get the axis + the axis range and then extrapolate the original data points. But that seems excessively laborious. Is there a more simple solution to this?

Reprex (sort of)

Not sure if this actually results in the same object as I have (because mine is almost 2y old), but for a start:

0 投票
1 回答
128 浏览

r - 调整大小和移动手动 grob 图例 ggplot

我有一个 ggplot2 对象,我正在尝试为一些 vlines 添加图例。我遵循以下内容:( ggplot2:手动添加图例)但我无法获得我想要的输出。任何建议都非常感谢。

我要去的地方:

在此处输入图像描述

我想要的输出是将手动图例直接放在 Species 图例上方(或下方)

我也尝试过这种方法:

但正如你所看到的,它没有添加破折号,而是将它与其他线条类型结合在一起......

在此处输入图像描述

0 投票
1 回答
255 浏览

r - 在 r 中调整 grob 对象的边距

我使用cowplot包制作了一个 grob 对象。我正在将对象添加grid.lines()grid.text()已完成的 grob 中,但由于它来自 cowplot,它会填满整个页面。如何调整 grob 对象的边距以在边缘周围添加一些空白?下面的示例代码。

0 投票
0 回答
186 浏览

r - grob 插图周围令人讨厌的边界

我制作了这张地图,它几乎是完美的,除了插图周围有一个讨厌的白色蛀虫。我希望插图只有实际面板边框的黑线边框,而不是随之而来的白色背景。此外,我的panel.grid元素没有显示在我绘制的陆地上方,并且希望它显示在陆地 mss 上方(在主地图中以浅灰色显示)。我panel.grid = element_line(color = "darkgray")的主地图中有我的,但它仍然没有显示我想要的方式。我的比例尺和指北针也是如此。这是我的情节截图:

在此处输入图像描述

这是我用来生成地图的代码:

在插图代码中,我设置了,panel.background = element_blank()所以我不确定为什么我的插图周围仍然有白色背景/边框。

如果您需要我用来生成这些地图的数据,请告诉我。这是一个更大的文件,因此 SO 的字符限制限制了我可以放置的内容。即使我修剪数据,因为它们是多边形文件,单个数据行共享起来也很麻烦。

任何见解将不胜感激!