问题标签 [ggproto]

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 投票
0 回答
112 浏览

r - 如何在 R 中调用基于 ggplot 的新环境

给定以下基于 ggplot 的环境(最初来自:ggplot2: Multiple color scales or shift colours systemly on different layers?

我想用以下函数调用它:

但是,在调用该函数时,它无法正确调用环境并给出以下错误:

有什么建议么?

0 投票
1 回答
2518 浏览

r - 将单位标签添加到雷达图并删除外环 ggplot2(蜘蛛网图,coord_radar)

我最近一直在研究雷达图,并从Erwan Le Pennec找到了大量代码。我做了一些编辑,但是有些部分我无法弄清楚如何删除最外层的圆圈,因为它没有定义一个值。目前代码正在绘制主要的网格线。我试图欺骗它删除两个轴并仅绘制较小的增量,但是任何一个都有效。

干杯!

这是我的代码:

要改变的东西

0 投票
1 回答
889 浏览

r - 使用雷达坐标将线段添加到ggplot2中的直方图

我正在尝试在 ggplot2 中使用不是径向线的注释线制作极坐标直方图。

coord_polar给出曲线的简单方法:

具有曲线段的极坐标直方图

第二次尝试使用coord_radar,来自 StackOverflow 和邮件列表上的各种来源:

这完全失败了:

coord_radar 失败

如果我使用分组线而不是线段,我可以绘制线条:

使用 geom_line 的 coord_radar

但我仍然需要直方图...

有任何想法吗?

0 投票
1 回答
664 浏览

r - 雷达图的 y 轴范围

我的问题使用了以下示例: http ://www.cmap.polytechnique.fr/~lepennec/R/Radar/RadarAndParallelPlots.html

如何定义 y 轴的限制?目前,最低值将位于雷达图的中间,不会显示零。我希望零在中间而不是图的中间/中心是最低值。

任何帮助深表感谢!

0 投票
1 回答
634 浏览

r - ggplot2从雷达图中更改特定线的颜色

我的问题使用了以下示例: http ://www.cmap.polytechnique.fr/~lepennec/R/Radar/RadarAndParallelPlots.html

如何更改绘图/网格最外层线(y 标签下方的线)的颜色?

任何帮助深表感谢!

0 投票
2 回答
3064 浏览

r - ggplot:按组自动化的百分位线

我发现该dplyr %>%运算符对简单的 ggplot2 转换很有帮助(无需借助ggplot2 扩展ggproto所必需的),例如

在这些类型的图表中添加一些带有标签的百分位线是很常见的,例如,

R图

一种剪切粘贴的方法是

我很想把它封装成类似的东西,g %>% gg.percentile.x(c(.5, .9))但我一直无法找到一种很好的方法来结合使用aes_aes_string发现图形对象中的分组列,以便正确计算百分位数。我会很感激一些帮助。

0 投票
1 回答
52603 浏览

r - 定义因子时的警告:不推荐使用因子中的重复级别

我在 R 中的雷达图有点问题。即使情节很好,我也收到以下警告:

我在其他帖子中看到了同样的错误,但我真的不明白如何将答案应用于我的数据集......

这是我的数据集

这是相应雷达图的代码(可能只有我定义数据集的第一部分是相关的,但是是的......这就是我迷路的地方):

0 投票
1 回答
358 浏览

r - 编写ggplot自定义几何函数

我正在编写一个函数来创建 ggplot 的散点图,其中点的大小表示具有相同 X 和 Y 坐标的点的数量。

我有一个有效的功能:

我想把它做成 ggplot 的风格,作为从 geom_point 继承的自定义几何函数。也许我可以使用一些统计功能,不确定。基本上我想将一个数据框传递给 ggplot,映射 x 和 y,并在不事先计算点大小的情况下创建这个图。像

此外,从原始数据框中获得 x 和 y 轴标签会很棒。

希望这是可能的,我只是错过了一些东西。

0 投票
1 回答
207 浏览

r - 在 ggproto 中,coord$transform 没有将某些列转换为 [0, 1]

我想创建一个新的 Geom 类型:geom_ohlc(),类似于烛台图,用于绘制股票开盘价高低收盘数据。

在学习了这篇哈德利的文章之后:我试过这个:

为简单起见,我只是不考虑条的颜色。

结果图是这样的:

截屏

browser()我在函数内部添加了一个ggproto,我发现coord$transform并没有将op, hi, lo,cl美学转换为 interverl [0,1]。如何解决这个问题?

此外,除了 Hadley 的文章之外,还有其他关于如何创建自己的 Geom 类型的文档吗?

0 投票
3 回答
20321 浏览

r - ggplot2:将样本大小信息添加到 x 轴刻度标签

这个问题与 Create custom geom to compute summary statistics and display them *outside * the plotting region (注意:所有功能都已简化;不对正确的对象类型、NA等进行错误检查)

在基础 R 中,创建一个生成带状图的函数非常容易,其样本大小指示在分组变量的每个级别下方:您可以使用该mtext()函数添加样本大小信息:

或者您可以使用以下函数将样本大小信息添加到 x 轴刻度标签axis()

使用轴()的示例

虽然这在基础 R 中是一项非常容易的任务,但在 ggplot2 中却非常复杂,因为很难获得用于生成绘图的数据,并且虽然有等效于axis()(例如scale_x_discrete,等)的函数,但有没有任何等价物可以mtext()让您轻松地将文本放置在边距内的指定坐标处。

我尝试使用内置stat_summary()函数来计算样本大小(即fun.y = "length"),然后将该信息放在 x 轴刻度标签上,但据我所知,您无法提取样本大小然后以某种方式添加它们使用函数到 x 轴刻度标签scale_x_discrete(),您必须告诉stat_summary()它要使用的几何图形。您可以设置geom="text",但是您必须提供标签,关键是标签应该是样本大小的值,这是stat_summary()正在计算但您无法获得的值(并且您还必须指定您希望将文本放置在哪里,同样,很难弄清楚放置它的位置,以便它直接位于 x 轴刻度标签的下方)。

小插图“扩展 ggplot2”(http://docs.ggplot2.org/dev/vignettes/extending-ggplot2.html)向您展示了如何创建自己的统计函数,该函数允许您直接获取数据,但问题是你总是必须定义一个几何图形来配合你的 stat 函数(即,ggplot认为你想在绘图中绘制这些信息,而不是在边缘);据我所知,您不能获取在自定义统计函数中计算的信息,也不能在绘图区域中绘制任何内容,而是将信息传递给像scale_x_discrete(). 这是我尝试这样做的方法;我能做的最好的是将样本量信息放在每组的最小值 y 处:

在此处输入图像描述

我以为我通过简单地创建一个包装函数来解决这个问题ggplot

使用 ggstripchart() 的示例

但是,此功能不能与刻面一起正常工作。例如:

显示了为每个方面组合的两个方面的样本大小。我必须在包装函数中构建分面,这违背了尝试使用ggplot所提供的一切的意义。

使用带有 facet_wrap 的 ggstripchart 的示例

如果有人对这个问题有任何见解,我将不胜感激。非常感谢您的宝贵时间!