我正在尝试为此data.frame生成饼图,其中每一行代表一个站点的唯一标识符,字段的错误计数和字段数。如何最好地构建ggplot命令以生成饼图,其中错误只是每个站点字段的一小部分? 目前,我的代码如下所示:
ggplot(error_indicator,aes(x = Fields,y=Errors))
+ facet_grid(~Hospital)
+ geom_bar(width = 1,stat="identity", position="fill")
+ coord_polar(theta="y")
数据框如下所示:
但是我的ggplot代码的结果如下所示:
如何将饼图显示为每个医院和每个医院使用自己的行的字段比例?
答案 0 :(得分:1)
首先,饼图不是显示数据的最佳方式!
但无论如何这里是一个解决方案。这里最重要的部分是scale_y_continuous()
,可以将限制从0设置为1,然后使用库percent_format()
中的scales
将其转换为百分比。
library(ggplot2)
library(scales)
ggplot(df,aes(x=1,y=Errors/Fields))+geom_bar(stat="identity")+
facet_grid(~Hospital)+
coord_polar(theta="y")+
scale_y_continuous(labels = percent_format(),limits=c(0,1),
breaks=c(0.25,0.5,0.75,1))+
theme(axis.title.y=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank())