• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言饼图占比分析

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

饼图

饼图是一种应用非常广泛的统计图形,是针对离散型变量的统计图,饼图多用于展示频率、占比等数值。

1 饼图绘制
library(readxl)
data=read_excel("D:/TASK/净水器建模(1月19日)副本1.xlsx")
freq = table(data$保修期) #查看保修期的频数
freq


通过数据结构显示得知:最高频数1年保修期的净水器为592个样本量,最低频数的保修期净水器为22个样本量。

piepercent<- paste(round(100*freq/sum(freq), 2), "%") # 将数据四舍五入保存为两位小数
par(mfrow=c(1,2)) # 设置画图为1*2的格式,可以显示两张图形。
pie1=pie(freq,main="净水器保修期分布占比图",col = rainbow(length(freq))) #绘制饼图#rainbow彩虹色调色板函数
pie1=pie(freq,labels = piepercent,main="净水器保修期分布百分比占比图",col = rainbow(length(freq)))#添加百分比
legend("topright",c("1年","2年","3年","5年","无保修"),cex=0.6,#添加图例
fill=rainbow(length(freq))) #调色板



观察左图可得知1年保修期净水器的频数最高,5年保修期的频数最低。

观察右图可知,1年保修期的净水器频数最高,占比为58.56%,5年保修期的净水器频数最低,占比为2.18%。

library(ggplot2) # 加载包

dt = data.frame(A = c(48.6,26.3,7.73, 4.75,3.45),B = c("氧","硅","铝","铁","钙"))#建立数据框
dt = dt[order(dt$A, decreasing = TRUE),]   ## 用 order() 让数据框的数据按 A 列数据从大到小排序
myLabel = as.vector(dt$B)   ## 转成向量,否则图例的标签可能与实际顺序不一致

myLabel = paste(myLabel, "(", round(dt$A / 1, 2), "%)", sep = "")   ## 用 round() 对结果保留两位小数

p = ggplot(dt, aes(x = "", y = A, fill = B)) + #创建坐标轴
  geom_bar(stat = "identity") + 
geom_bar(stat = "identity", width = 1) +   #当width >= 1 时中心的杂点将消失
  coord_polar(theta = "y") +  # 把柱状图折叠成饼图(极坐标)
labs(x = "", y = "", title = "") +  # 将横纵坐标的标签设为空
 theme(axis.ticks = element_blank()) +  # 将左上角边框的刻度去掉
theme(legend.title = element_blank(), legend.position = "left")+   ## 将图例标题设为空,并把图例方放在左边位置
 scale_fill_discrete(breaks = dt$B, labels = myLabel)+   # 将原来的图例标签换成现在的myLabel
theme(axis.text.x = element_blank())+   ## 去掉饼图的外框上的数值,即去除原柱状图的X轴,把X轴的刻度文字去掉
geom_text(aes(y = A/2 + c(0, cumsum(A)[-length(A)]), x = sum(A)/20, label = myLabel), size = 5)   # 在图中加上百分比:x 调节标签到圆心的距离, y 调节标签的左右位置
print(p) #显示饼图


利用ggplot包绘制饼图如上代码所示,利用地壳中最多的前五大化学元素进行饼图绘制,图形如上,观察得知氧所占百分比最高,为48.6%,钙所占的百分比最低,为3,45%。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言:使用dplyr提取行、列(filter, select)发布时间:2022-07-18
下一篇:
主成分分析(PCA)原理及R语言实现及分析实例发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap