Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 控制ggplot2中离散比例的相对大小_R_Ggplot2 - Fatal编程技术网

R 控制ggplot2中离散比例的相对大小

R 控制ggplot2中离散比例的相对大小,r,ggplot2,R,Ggplot2,我正试图用ggplot2生成一个极坐标小提琴图。我想控制每个类别的相对大小,x轴上每个类别因子的宽度,一旦我将坐标设为极坐标,它就会转换为角度 有没有办法做到这一点 示例代码: means <- runif(n = 10, min=0.1, max=0.6) sds <- runif(n = 10, min=0.2, max=0.4) frame <- data.frame( cat = sample(1:10, size=10000, replace=TRUE),

我正试图用ggplot2生成一个极坐标小提琴图。我想控制每个类别的相对大小,x轴上每个类别因子的宽度,一旦我将坐标设为极坐标,它就会转换为角度

有没有办法做到这一点

示例代码:

means <- runif(n = 10, min=0.1, max=0.6)
sds <- runif(n = 10, min=0.2, max=0.4)
frame <- data.frame(
  cat = sample(1:10, size=10000, replace=TRUE), 
  value = rnorm(10000)
) %>%
  mutate(
    mn = means[cat], 
    sd = sds[cat],
    value = (value * sd) + mn,
    cat = factor(cat)
  )
frame %>%
  ggplot(aes(x = cat, y = value)) + geom_violin() +
  coord_polar()
任何帮助或建议都将不胜感激


或者,也许更好,我希望能够制作一个不居中的极坐标图。其中,每个离散类别的角度相同,但点从圆的底部(而不是圆的中心)收敛,例如,1/3

根据评论,我正在重做我以前的答案。如果需要的是扇形/杂草叶形状,可以为其他cat值添加虚拟数据。在本例中,我只是将cat中的级别数增加了一倍,但您可以更改它。然后,我设置x打断,以仅显示实际包含数据的值,但让虚拟值占用空间来更改形状。仍然不确定这是否是你的意思,但尝试一下很有趣

图书馆管理员 意味着% 绑定\u rowstibblecat=11:20,值=NA%>% ggplotaesx=as.factorcat,y=value+ geom_小提琴刻度=面积+ coord_polarstart=-pi/2+ 比例x离散裂缝=1:10 >警告:已删除包含非有限值统计属性的10行。
2018-05-08由v0.2.0创建。

我想象的是一个甜甜圈图,但不是沿着环的楔形,而是小提琴图……对吗?是的,对。也许更好的方法是移动聚合点使其偏离中心,然后我可以控制类别的顺序。如果要在底部尖端和圆心之间添加空间,您可以使用ylim或scale_y__continuous设置限制或扩展比例,使其比您的数据更负。我不确定这将如何解决此问题。你介意写一个答案,包括一个代码示例,我可以试试吗?那样的话,如果成功的话,我可以接受你的答案,你会因此得到神奇的浆果。谢谢你,卡米尔。我不是这个意思。想象一下,圆圈的中心点,并拖动它,所以X仍然在情节的中间,但Y是从底部到顶部的方式的1/4。有点像一片大麻叶子。那么像扇形而不是圆形?我很难想象外面还有一个圆圈。但不是所有的小提琴都集中在圆圈的中心,而是集中在中间的底部。@Bob看到我的重做了吗。怎么样?更近一点。。。现在想象一下,所有的小提琴不是集中在中心,而是集中在中间圆圈的某个点上。我想我需要把CoordPolar改成双曲线。