ggplot2:将极坐标中的点与直线2连接起来

地理理论

coord_polar 弯曲线,有时是您不希望的(例如,当空间被认为是离散的而不连续的时候):

iris %>% gather(dim, val, -Species) %>%
  group_by(dim, Species) %>% summarise(val = mean(val)) %>% 
  ggplot(aes(dim, val, group=Species, col=Species)) + 
    geom_line(size=2) + coord_polar()

在此处输入图片说明

一个以前的解决方法此不再有效。有人对更新的解决方法有任何想法吗?

乌韦

极坐标中的数据点通过直线连接的也称为雷达图

Erwan Le Pennec有一篇文章:从Parallel Plot到Radar Plot讨论了使用来创建雷达图的问题ggplot2

他建议使用coord_radar()定义为:

coord_radar <- function (theta = "x", start = 0, direction = 1) {
  theta <- match.arg(theta, c("x", "y"))
  r <- if (theta == "x") "y" else "x"
  ggproto("CordRadar", CoordPolar, theta = theta, r = r, start = start, 
          direction = sign(direction),
          is_linear = function(coord) TRUE)
}

这样,我们可以如下创建图:

library(tidyr)
library(dplyr)
library(ggplot2)

iris %>% gather(dim, val, -Species) %>%
  group_by(dim, Species) %>% summarise(val = mean(val)) %>% 
  ggplot(aes(dim, val, group=Species, col=Species)) + 
  geom_line(size=2) + coord_radar()

在此处输入图片说明

coord_radar()ggiraphExtra包装的一部分因此,您可以直接使用它

iris %>% gather(dim, val, -Species) %>%
      group_by(dim, Species) %>% summarise(val = mean(val)) %>% 
      ggplot(aes(dim, val, group=Species, col=Species)) + 
      geom_line(size=2) + ggiraphExtra:::coord_radar()

请注意,coord_radar()不是由包导出的。因此,需要三元冒号(:::)才能访问该函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

散点图(X1,X2)按因子分组:添加一条曲线,将与每个组中X1的最大值相对应的点与ggplot2连接起来

有没有办法制作将经验词对与 ggplot2 连接起来的线图?

r-ggplot2:将极坐标中的点与直线连接

使用ggplot将分组的点图中的所有点连接起来

在R中使用ggplot将移位图与另一图的点连接起来

如何使用 ggplot 将图中的点与一条线连接起来?

在CSS3中将点与有序列表连接起来

如何通过gpplot中的不同组将点与线连接起来?

将矩阵从Matlab中的单元连接起来

将Spark中的稀疏向量连接起来?

将列表与 linq 中的表连接起来

PHP下拉菜单将MySQL数据表中的2行连接起来

通过Matlab中的“ ID”字段将具有相同字段名的2个结构连接起来

Keras:如何将2个张量与动态形状连接起来?

MySQL将2列与同一张表连接起来

Python:将 2 个数组与 1 个空数组连接起来

Postgresql 将 2 个表与公里范围连接起来

使用条件条件LINQ将2个数据表连接起来

Excel函数将不同文件中的2列连接起来

在不指定坐标的情况下将美国与AmMaps中的MapLines连接起来?

ggplot-用直线连接极坐标中的点

使用箭头将一个项目内但跨组的点连接起来

C#图表系列如何将屏幕上缺失的点连接起来?

使用geom_line()将选定的NA之间的点连接起来

将React-Leaflet CircleMarker和悬停点上的散点图连接起来

在python中,如何在绘图中将点与平滑线连接起来?

通过聚合将表自身连接起来

将 Java 与 Python Flask 连接起来

将 redux devtools 与自己的商店连接起来