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

R语言&EXCEL绘制瀑布图

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

瀑布图是反映在诸多原因和因素下,使得一个状态演变成另一个状态的过程图表,这个过程中我们可以了解哪些是导致该变化结果的主要因素,以及产生影响的强弱,R语言中一共有三个包可以做,它们分别是waterfall,waterfalls基于ggplot2绘图系统,rAmCharts(绘制动态交互瀑布图),在文章的最后介绍如何用EXCEL绘制瀑布图。


一、waterfall包绘制


这个包绘制的是最简单的瀑布图,对图片的属性修改不够灵活,不推荐大家使用只做了解即可


library(waterfall)
mydata=data.frame(Item=as.factor(c('Before','Factor A','Factor B','Factor C','Factor D',
    'Factor E','Factor F','Factor G')),
    data=c(325,-32,-105,38,86,97,232,389))
waterfallchart(Item~data,data=mydata)




二、waterfalls包


这个包是基于ggplot2编写的,因此ggplot2的所有函数及其扩展包中的函数都可以用来修饰瀑布图,另一个原因是这个包只有一个函数waterfallchart该函数包含了20几个参数基本满足了绘制瀑布图的要求,如果还想进一步对图片进行美化可以参考ggplot2族中的其他函数


library(waterfalls)
library(ggplot2)
library(ggthemes)
waterfall(.data = mydata , 
    rect_text_labels = paste(levels(mydata$Item),'\n',mydata$data),
      fill_colours = c('darkslateblue','chocolate','chocolate','chartreuse',
    'chartreuse','chartreuse','chartreuse','chartreuse'),
    calc_total = TRUE, total_rect_color = "darkslateblue",
    total_rect_text = paste('After','\n',sum(mydata$data)),
    total_rect_text_color = "black",
    total_axis_text = "After",
     rect_width = 0.9,
    draw_axis.x = "behind",
    rect_border = "white",
      fill_by_sign = FALSE)+
theme_map()+
geom_hline(yintercept = 0, colour = 'skyblue')



三、rAmCharts


这个包可以做出动态的瀑布图,难点在于数据形式的构造,多出一列符号列


mydata=data.frame(label=c('Before','Factor A','Factor B','Factor C','Factor D',
    'Factor E','Factor F','Factor G','After'),
    value=c(325,32,105,38,86,97,232,389,1030),
         operation=c('total','minus','minus','plus','plus','plus','plus','plus','total'))
amWaterfall(data = mydata, show_values = TRUE



四、使用EXCEL制作


选中除阴影部分的所有列点击插入堆叠柱状图,其中Dummy列的数据公式

=IF(B3<0,SUM($B$2:B3),SUM($B$2:B2)) ;+,-分别为=IF(B6<0,0,B6)

IF(B4>0,0,ABS(B4)) 。

任选一柱把分类间距设置为无

点击Dummy设置为无填充色

点击所有列的数据标签分别设置,Before/After列勾选类别值和值,并设置分割符为换行符,Dummy系列仅勾选类别名称标签位置设置为在数据标签内,+,-因素的数据标签的数据格式分别设置为[=0]"";+#,###,[=0]"";-#,###其他设置同Before/After.

最后进行一些坐标,网格线,标题,配色等对图表进行修饰,由于操作简单这里就不再写了,最终效果如下图所示

文章选摘:EasyCharts公众号



鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
R语言hist绘图函数发布时间:2022-07-18
下一篇:
《R语言编程艺术》——2.8 筛选发布时间: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