相关疑难解决方法(0)

ggplot,facet,piechart:将文本放在饼图切片的中间

我正在尝试使用ggplot生成一个刻面的饼图,并面临在每个切片中间放置文本的问题:

dat = read.table(text = "Channel Volume Cnt
                         AGENT   high   8344
                         AGENT medium   5448
                         AGENT    low  23823
                         KIOSK   high  19275
                         KIOSK medium  13554
                         KIOSK    low  38293", header=TRUE)

vis = ggplot(data=dat, aes(x=factor(1), y=Cnt, fill=Volume)) +
  geom_bar(stat="identity", position="fill") +
  coord_polar(theta="y") +
  facet_grid(Channel~.) +
  geom_text(aes(x=factor(1), y=Cnt, label=Cnt, ymax=Cnt), 
            position=position_fill(width=1))
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

geom_text应该调整哪些参数才能将数字标签放在饼图切片的中间?

相关问题是Pie plot将其文本放在彼此的顶部,但它不处理facet的情况.

更新:在上面的问题中遵循Paul Hiemstra的建议和方法我改变了代码如下:

---> pie_text = dat$Cnt/2 + c(0,cumsum(dat$Cnt)[-length(dat$Cnt)])

     vis = ggplot(data=dat, aes(x=factor(1), y=Cnt, fill=Volume)) +
     geom_bar(stat="identity", position="fill") +
     coord_polar(theta="y") +
     facet_grid(Channel~.) +
     geom_text(aes(x=factor(1), 
--->               y=pie_text, 
                   label=Cnt, ymax=Cnt), …
Run Code Online (Sandbox Code Playgroud)

visualization r facet ggplot2 pie-chart

18
推荐指数
3
解决办法
2万
查看次数

使用coord_polar()"缩放"/"缩放"

我有一个使用geom_smooth()的极坐标图.平滑的黄土线虽然非常小,但环绕着地块的中心.我想"放大",这样你就可以更好地看到它.

使用类似的东西scale_y_continuous(limits = c(-.05,.7))会使geom_smooth环更大,但它也会改变它,因为它将使用limits = c(-.05,.7)参数限制的数据点重新计算.

对于笛卡尔图,我可以使用类似于coord_cartesian(ylim = c(-.05,.7))剪切图表而不是基础数据的东西.但是我看不到这样做coord_polar()

有任何想法吗?我认为grid.clip()在网格包中可能有一种方法可以做到这一点,但我没有太多运气.

有任何想法吗?

我的情节现在看起来像是什么,注意"更高"的红线: 目前的情节,注意较大的红线,但它的小.

我想画的是什么: 我想得到什么

当我使用scale_y_continuous()音符"更高"的蓝线时,我得到的是,它仍然没那么大. 我用<code> scale_y_continuous()</ code>得到的信息,注意蓝线现在更大,但仍然没有那么大.

r ggplot2 r-grid

9
推荐指数
1
解决办法
648
查看次数

使用R中的ggplot2制作不同大小的多个饼图的散点图

我有一个包含以下数据的数据框:

> data_graph
# A tibble: 12 x 4
# Groups:   ATTPRO, ATTMAR [?]
       x     y group    nb
   <dbl> <dbl> <chr> <int>
 1     0     0     1  1060
 2     0     0     2   361
 3     0     0     3   267
 4     0     1     1   788
 5     0     1     2   215
 6     0     1     3    80
 7     1     0     1   485
 8     1     0     2   168
 9     1     0     3   101
10     1     1     1  6306
11     1     1     2  1501
12     1     1 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 pie-chart ggforce scatterpie

1
推荐指数
1
解决办法
966
查看次数

标签 统计

ggplot2 ×3

r ×3

pie-chart ×2

facet ×1

ggforce ×1

r-grid ×1

scatterpie ×1

visualization ×1