当前位置:首页|资讯

R语言学习笔记:蝴蝶图

作者:DukeDuckDarkside发布时间:2024-09-20

    蝴蝶图是柱状图的一种,形似蝴蝶,上下或者左右都有柱子延伸,常常用来展示评分或者是两组不同的数据之间的对比。比如我们常见的人口在分男女之后对比不同年龄段的分部就可以使用蝴蝶图进行对比。下面我们将会介绍2种不同的蝴蝶图的画法。

    首先我们需要加载需要使用的R语言包,代码如下:

    接下来,我们首先展示第一种比较简单的蝴蝶图。先使用下面的代码制作一个假数据:

    我们假设搜集到一些问卷的结果,针对三个问题,ques1~ques3,有100个人对每个问题在4种程度评价中选择了一个作为结果,数据的样子如下:

data的示例

    接下来我们需要计算对于每个问题,4种程度的选择比例,代码如下:

    计算后的结果如下:

data2

    为了实现蝴蝶图,我们想让非常讨厌和比较讨厌的柱子朝下,比较喜欢和非常喜欢的柱子朝上,可以通过下面的代码进行操作:

    处理后的结果如下:

data3

    细心的读者会发现,在通过fct_relevel对level进行重新排序的时候,并不是按照正常的顺序,‘非常喜欢’排在了‘比较喜欢’的前面。这主要是为了最后的图里面,柱子上的评价排序从下到上是按照正常顺序排列的。感兴趣的读者可以尝试在这里换一下‘非常喜欢’和‘比较喜欢’的位置,看一下最后的图就会明白了。

    现在,我们可以使用data3绘制蝴蝶图了,代码如下,结果如图:

蝴蝶图1

    我们也可以翻转坐标轴,只需要添加coord_flip()即可,代码如下,结果如图:

蝴蝶图2

    下面我们介绍第二种蝴蝶图,首先我们需要制作一个假的人口数据,代码如下:

data的部分示例

    接下来,我们需要计算分性别的各年龄段人口总数,代码如下:

data2

    这里data2可以被用来画图了,但是我们要分别绘制男女的人口分布柱状图,代码和结果如下:

最终效果

    以上就是两种回执蝴蝶图的方法,虽然例子都比较简单,但是核心思路大致就这两种。rmarkdown文件可以通过下面的链接下载:

链接:https://pan.baidu.com/s/1GuCVkGK8f0LWb4ykyelD8w?pwd=iacv 

提取码:iacv 



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1