精华内容
下载资源
问答
  • R语言饼图占比分析

    千次阅读 2019-02-22 23:56:26
    饼图 饼图是一种应用非常广泛的统计图形,是针对离散型变量的统计图,饼图多用于展示频率、占比等数值。 1 饼图绘制 library(readxl) data=read_excel("D:/TASK/净水器建模(1月19日)副本1.xlsx") freq =...

    饼图

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

    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%。

    展开全文
  • R语言饼图的制作

    2019-07-16 07:30:34
    饼图 饼图比较好看,但是它数据的呈现型不如条形图,所以多数的统计学家都不推荐饼图 饼图可以通过pie()函数创建其格式为 pie(x,labels) x是一个非负的数值向量 labels是x的标签 例子1简单的饼图 slices <- c(10,...

    饼图
    饼图比较好看,但是它数据的呈现型不如条形图,所以多数的统计学家都不推荐饼图
    饼图可以通过pie()函数创建其格式为
    pie(x,labels)
    x是一个非负的数值向量
    labels是x的标签
    例子1简单的饼图

    slices <- c(10,12.4,16,8)
    lbls <- c("US","UK","Australia","Germany","France")
    pie(slices,labels = lbls,main="Simple Pie Chart",cex.names=0.5)
    

    在这里插入图片描述
    例子2,为饼图添加比例数值,制作百分比饼图
    使用paste()函数进行字符串的拼接制作标签

    #把slices中的数值改成此数值在此向量数值总和所占的百分比
    x <- slices/sum(slices)*100
    #signif指定数值的显示的位数,此例子显示的位数为3
    y <- signif(x,digits = 3)
    lbls2 <- paste(lbls," ",y,"%",sep="")
    pie(x,lbls2,main="Simple Pie Chart",col = rainbow(length(lbls2)))
    

    在这里插入图片描述
    例子3,制作3D饼图
    使用plotrix包中的pie3D()函数可以制作3D效果的饼图
    其中参数explode表示各个扇形分开的距离

    ibrary(plotrix)
    install.packages("plotrix")
    #explode表示各个扇形分开的距离
    pie3D(slices,labels=lbls,explode=0.1,main="Simple Pie Chart")
    

    在这里插入图片描述
    例子4从表格中创建饼图
    pie()函数中的参数x不光可以是一个数值向量还可以是个表格,它和barplot不同的是即使x的参数是一个table格式,它仍需要指定labels。就像x只是提前了table格式中的数值没有提前它的名字
    pie()函数可以自动识别表格中的数值

    > mytable <- table(state.region)
    > mytable
    state.region
        Northeast         South North Central          West 
                9            16            12            13 
    > lbls3 <- paste(names(mytable)," ",mytable,sep="")
    > lbls3
    [1] "Northeast 9"      "South 16"         "North Central 12" "West 13"         
    > print(lbls3)
    [1] "Northeast 9"      "South 16"         "North Central 12" "West 13"         
    > pie(mytable,labels = lbls3,main = "Pie Chart from a Table\n (with sample sizes)")
    

    在这里插入图片描述
    例子6,制作扇形图
    饼图有的时候并不同意比较出各个部分的大小,这种情况下可以使用通过制作扇形图来进行比较各个部分的大小
    扇形图–可以同时展示相对数量和各部分大小差异的方法
    扇形图是通过plotrix包中的fan.plot()函数实现(fan汉语含义为扇子的含义)
    扇形图相对于饼图的不同点是它们的各个部分公用一个公共边
    这样可以方便的分辩出图形的每部分的大小

    library(plotrix)
    slices <- c(10,12.4,16,8)
    lbls <- c("US","UK","Australia","Germany","France")
    fan.plot(slices,labels = lbls,main="Fan plot")
    

    在这里插入图片描述
    结束总结
    饼状图相对于条形图来说更加好看
    但没有条形图更加直观,所以一般统计学家并不推荐饼图
    制作饼图的函数有3个,一个是经常使用的pie()函数
    一个是plotrix包中的pie3D()函数可以制作3D效果的饼图
    最后一个是plotrix包中的fan.plot()函数可以制作扇形图
    函数pie()可以直接输入表格数据它可以自动识别其中的数值,注意这种情况下labels参数扔需要指定

    展开全文
  • R语言饼图的绘制

    千次阅读 2015-08-04 16:10:04
    提供了R语言和ggplot2画pie图的方法,并解决了网上博文留下的小胡子的问题

    先做数据框
    type
    Type of_mC percent
    1 AA 15855 27.1%
    2 BB 772959 13.2%
    3 CC 3483549 59.6%
    然后咧,具体代码如下
    pie(typeofmC,labels=names(typeof_mC)<-c(“”,”“,”“),col=c(“red”,”orange”,”skyblue”))
    上面的意思是化饼图,然后把of_mC这一列的标注设定为空格,颜色为三种
    text(0.3,0.5,typepercent[1])text(0,0.3,typepercent[3])
    text(-0.3,0.5,typepercent[2])legend(0.6,1.05,typeType, col = c(“red”,”orange”,”skyblue”), lty = 0,pch = 15, ncol = 4, cex = 0.8)
    加上legend
    很是简洁哈,下面介绍用ggplot2画pie图,先设定颜色
    colour<-c(“skyblue”,”orange”,”lightgreen”)
    p <- ggplot(type, aes(x = “”, y = of_mC, fill = Type)) +
    geom_bar(width = 1,stat = “identity”) + labs(title = “LS”,x=”“,y=”“)
    p + coord_polar(“y”, start = 0) + geom_text(aes(y = of_mC/2 +
    c(0, cumsum(of_mC)[-length(of_mC)]),label = percent), size=8) + scale_fill_manual(values = colour) + theme(axis.ticks=element_blank())

    最后一句话是去掉一个小短线,下面的参考博文中说双引号还没有找到怎么去掉,这里有一个方法就是在lab中直接把x,y设置为空即可,如加粗部分
    geom_text是将百分比给画上去
    其实还有参考其他的博文,刚才关掉了网页,等以后有机会找到了再加上吧,另外makrdown不能生成图,不知道csdn啥时候能迁入代码直接画图呢
    ref:
    1:http://joseph.yy.blog.163.com/blog/static/50973959201262681120903/
    2: http://joseph.yy.blog.163.com/blog/static/509739592012718101838732/
    3:http://www.r-bloggers.com/pie-charts-in-ggplot2/

    展开全文
  • R语言-饼图

    2020-03-01 16:19:56
    饼图饼图(pie chart)可用于表示不同的分类情况,通过弧度的大小来对比各种分类。饼图通过将一个圆饼按照分类的占比来划分成多个切片,整个圆饼代表数据的总量,每个切片(圆弧)表示该分类占总体的比例,所有...

    饼图:

    饼图(pie chart)可用于表示不同的分类情况,通过弧度的大小来对比各种分类。饼图通过将一个圆饼按照分类的占比来划分成多个切片,整个圆饼代表数据的总量,每个切片(圆弧)表示该分类占总体的比例,所有切片(圆弧)的加和等于100%。饼图清晰明了,很容易就能对数据占比进行主观比较,因此可以作为数据处理前对整体把握的一种手段。
    饼图可以很好的帮助我们快速了解数据的占比,但使用时也有一些不足的地方:
    (1)饼图不适用于多分类的数据,一般来说不多于9个分类,太多的分类导致每个切片大小都太小,没有区分度。
    (2)相对于具备同样功能的其他图表(如百分比堆积柱形图,圆环图),饼图需要更大的画布空间,所以他不适用于数据量大的场景。
    (3)很难在多个饼图之间进行数据的比较,此时可以用百分比堆积柱形图或者百分比堆积条形图代替。
    (4)饼图不适合多变量的连续数据占比可视化,此时应该使用百分比堆积面积图展示数据,比如多变量的时序数据。

    排序问题:

    饼图最需注意的一点是排序问题,需要按照多个类别进行一定规则的排序,但并不是简单的升序和降序排列。
    如果将饼图看作是一个钟表,那么最显眼的地方一定是12点左右,所以在饼图的展示上最好是将数据占比最大的两个放在12点的左右两边才能最显眼,剩下的数据按照升序或者降序顺时针或者逆时针排列在下方即可。
    所以更具体的原则就是:
    (1)如果每组的数据占比都不大,都<50%,那么就可以直接将数据按照从大到小排序,从12点开始顺时针展示。
    (2)如果存在某组数据超过50%,那么久将其放在12点的右边,第二大的放在左边,其它组按顺序展示。
    如下图就看很舒服:
    借用Echart团队的图

    动手绘制饼图:

    使用ggplot2包中的geojm_bar()函数绘制堆积柱形图,然后将直角坐标系转换成极坐标系,就可以显示为饼图。

    第一步:

    随便生成一些数据,用来绘制饼图

    my_data <- data.frame(group=c("甲","乙","丙"),value=c(25,35,45))
    

    第二步:

    生成一个简单的堆积柱形图

    library(ggplot2)
    ggplot(my_data, aes(x="",y=value,fill=group))+
      geom_bar(stat="identity",width=1)
    

    其中的stat参数是干什么用的呢,这涉及到ggplot2包的图层语法,最简单来说就是geom_xxx()叫几何对象函数,stat_xxx()叫统计变换函数,这两个相辅相成,在geom_xxx()里有stat参数,在stat_xxx()里有geom参数,两个函数侧重点不同,但目的都是为了完整地绘图。

    第三步:

    将堆积柱状图变成饼图,只需设定个坐标系即可

    library(ggplot2)
    ggplot(my_data, aes(x="",y=value,fill=group))+
      geom_bar(stat="identity",width=1)+
      coord_polar("y",start=0)
    

    在这里插入图片描述
    最简单的饼图就绘制完成!略丑……

    展开全文
  • #labels:设置饼图各部分的标签。#main:设置标题。#col:设置每个扇形的颜色#clockwise:一个逻辑值,TRUE顺时针做出分割,FALSE逆时针做出分割(默认)#density:底纹的密度。默认值为NULL。#angle:设置底纹的斜率#...
  • R语言-饼图-pie()

    2020-02-18 15:47:50
    R语言-饼图-pie() 饼图可以用于分析某项指标占总体大小,以及指标之间的比较。具体而言,饼图是将值表示为具有不同颜色的圆的切片, 切片被标记,并且对应于每个片的数字也在图表中表示。在R语言中,饼图是使用**pie...
  • R语言饼图 Pie Chart

    千次阅读 2019-09-19 17:00:35
    R语言里面可以用很多方法来画饼图: pie pie(x, labels = names(x), edges = 200, radius = 0.8, clockwise = FALSE, init.angle = if(clockwise) 90 else 0, density = NULL, angle = 45, col = NULL...
  • 饼图R语言官方文件中一般不推荐绘制饼图,这是因为同其它统计图相比,饼图可视化程度有限,表现力也有所欠缺。在之前的学习中我们可以感受到条形图和点图基本上就能替代饼图。不过,在这里我们也可以抱着学习的...
  • 饼图R语言官方文件中一般不推荐绘制饼图,这是因为同其它统计图相比,饼图可视化程度有限,表现力也有所欠缺。在之前的学习中我们可以感受到条形图和点图基本上就能替代饼图。不过,在这里我们也可以抱着学习的...
  • R语言饼图(pie)学习

    万次阅读 2016-02-24 23:41:57
    刚开始学习R语言, 第一篇的笔记, 长久以来作为一个数据仓库工程师,整天活在数据的矿坑中, 却一直没有涉足数据挖掘,实属惭愧。 为培养学习的兴趣和写学习笔记的良好爱好, 故选择最最简单的饼图作为分析对象。 ...
  • R语言可视化饼图比例分析

    千次阅读 2020-05-12 16:54:13
    R语言可视化饼图比例分析 可视化分析时常常需要分析物品所占的比例,我们可以使用饼图进行比例分析。本例中我们使用R连接MySQL,获取MySQL中的car_action表数据从而统计汽车所使用的燃料的比例。 1.启动MySQL ...
  • ![图片说明](https://img-ask.csdn.net/upload/201708/03/1501727471_511272.jpeg) 如图,windows环境
  • R语言之作饼图并保存

    千次阅读 2016-05-21 17:41:03
    通过作图查看一个变量之后,我们很希望保存下来,怎么做?代码如下:#创建文件 ...dev.off()下面就是第二行代码所绘制出的饼图: 执行完上述代码后,我们发现这幅图片就保存在R当前的工作目录下了。
  • 导读饼图可以展示整体中各个部分占整体的比例。利用label,col,border可分别调整pie图的标签、饼颜色、边颜色。如果输入数据是矩阵,即需要绘制很多个指数的饼图,可以使用for循环快速批量画图,这是一般基于图形...
  • 今天有个小伙伴问到了关于甜甜圈图(环形图)绘制的问题,使用 ggplot2 绘制...首先我们加载所需的 R 包:library(highcharter)library(tidyverse)在绘制环形图之前我们先绘制下基础的饼图:#构造示例数据dataname=...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 210
精华内容 84
关键字:

r语言饼图