Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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百分比标签_R_Ggplot2_Shiny_Pie Chart - Fatal编程技术网

饼图上的R百分比标签

饼图上的R百分比标签,r,ggplot2,shiny,pie-chart,R,Ggplot2,Shiny,Pie Chart,我试图在饼图中添加一些百分比标签,但任何解决方案都有效。问题是图表显示了按类别分组的已完成任务的数量 output$plot2<-renderPlot({ ggplot(data=data[data$status=='100% completed',], aes(x=factor(1), fill=category))+ geom_bar(width = 1)+ coord_polar("y") output$plot2使用geom_text和position_stack调整标

我试图在饼图中添加一些百分比标签,但任何解决方案都有效。问题是图表显示了按类别分组的已完成任务的数量

 output$plot2<-renderPlot({
ggplot(data=data[data$status=='100% completed',], aes(x=factor(1), fill=category))+
  geom_bar(width = 1)+
  coord_polar("y")

output$plot2使用
geom_text
position_stack
调整标签位置将有效

library(ggplot2)
library(dplyr)

# Create a data frame which is able to replicate your plot
plot_frame <- data.frame(category = c("A", "B", "B", "C"))

# Get counts of categories
plot_frame <- plot_frame %>%
  group_by(category) %>%
  summarise(counts = n()) %>%
  mutate(percentages = counts/sum(counts)*100)

# Plot
ggplot(plot_frame, aes(x = factor(1), y = counts)) +
  geom_col(aes(fill = category), width = 1) +
  geom_text(aes(label = percentages), position = position_stack(vjust = 0.5)) +
  coord_polar("y")
库(ggplot2)
图书馆(dplyr)
#创建一个能够复制绘图的数据框
绘图帧%
汇总(计数=n())%>%
变异(百分比=计数/总和(计数)*100)
#密谋
ggplot(绘图帧,aes(x=系数(1),y=计数))+
几何图形颜色(aes(填充=类别),宽度=1)+
几何图形文本(aes(标签=百分比),位置=位置堆栈(vjust=0.5))+
极坐标(“y”)
上面的代码生成以下代码:


您可能希望将y轴从
计数
更改为
百分比
,因为您正在标记后者。在这种情况下,相应地更改传递到
ggplot
的值。

使用
geom\u text
position\u stack
调整标签位置将起作用

library(ggplot2)
library(dplyr)

# Create a data frame which is able to replicate your plot
plot_frame <- data.frame(category = c("A", "B", "B", "C"))

# Get counts of categories
plot_frame <- plot_frame %>%
  group_by(category) %>%
  summarise(counts = n()) %>%
  mutate(percentages = counts/sum(counts)*100)

# Plot
ggplot(plot_frame, aes(x = factor(1), y = counts)) +
  geom_col(aes(fill = category), width = 1) +
  geom_text(aes(label = percentages), position = position_stack(vjust = 0.5)) +
  coord_polar("y")
库(ggplot2)
图书馆(dplyr)
#创建一个能够复制绘图的数据框
绘图帧%
汇总(计数=n())%>%
变异(百分比=计数/总和(计数)*100)
#密谋
ggplot(绘图帧,aes(x=系数(1),y=计数))+
几何图形颜色(aes(填充=类别),宽度=1)+
几何图形文本(aes(标签=百分比),位置=位置堆栈(vjust=0.5))+
极坐标(“y”)
上面的代码生成以下代码:

您可能希望将y轴从
计数
更改为
百分比
,因为您正在标记后者。在这种情况下,相应地更改传递到
ggplot
的值。

这可能是相关的:这可能是相关的: