楼主: xiaocai_82
27904 137

[实际应用] 【原创】R语言吊炸天的图表技能秀,办公室菜鸟华丽转身“白骨精”   [推广有奖]

11
libraryrgl 发表于 2016-5-28 15:02:03 |只看作者 |坛友微信交流群
支持楼主发学习经验~

使用道具

12
xiaocai_82 发表于 2016-5-28 22:42:59 |只看作者 |坛友微信交流群
第二回:极具商务气质的条形图。
其实我越来越发现,我是在教大家美工,因为R语言画图部分实在是比较简单,基本上就是英文意思懂就可以写了,下面讲一讲怎么做条形图吧,先上图。
Rplot03.png
已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
残阳_等待 + 60 精彩帖子
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 60  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

13
xiaocai_82 发表于 2016-5-28 22:51:11 |只看作者 |坛友微信交流群
  1. setwd("c:/r/")
  2. library(ggplot2)
  3. library(XLConnect)#本例用的是64位系统的xls导入包,32位系统请做相应修改
  4. library(XLConnectJars)
  5. library(plyr)
  6. library(grid)
  7. windowsFonts(CA=windowsFont("微软雅黑"),CB=windowsFont("黑体"),CC=windowsFont("Calibri"))

  8. #颜色模板
  9. focus = c("#52596B","#BD2010","#E7BA10","#639629","#9C55AD","#CDC3C6")
  10. #导入数据
  11. bb <- loadWorkbook("c:/r/test.xls")
  12. aa <- readWorksheet(bb, sheet = "1", region = "A2:C14")
  13. mydata <- rbind(
  14.   data.frame(a = aa[, 1], b = aa[, 2], d = "余额"),
  15.   data.frame(a = aa[, 1], b = aa[, 3], d = "增量")

  16. )


  17. #画图表-直方图
  18. p<-ggplot(mydata, mapping = aes(x = a, y = b, fill = d))
  19. p<-p+ geom_bar(stat ="identity", position = "dodge",width = 0.8)
  20. p<-p+ scale_fill_manual(values = focus )#柱形图配色,这是FOCUS的经典配色
  21. #p<-p+geom_text(aes(label=b),  vjust=-0.5,hjust=0.5,size=2.5,position=position_dodge(width = 1))  
  22. p<-p+ggtitle("图1:江苏某银行部分地区存款情况(亿元)\n")#图表标题
  23. p<-p+theme(panel.background=element_rect(fill="white"),#图表背景
  24.            panel.grid.major.x=element_line(colour="grey"),#X主网格颜色
  25.            #panel.grid.minor.x=element_line(colour="grey"),#X次网格颜色
  26.            plot.title=element_text(size=12.5,colour="#000000",hjust=0,family = "CA"),#图表标题外观
  27.            axis.text.y=element_text(family = "CA",size=rel(1.2)),#y轴字体
  28.            axis.text.x=element_text(family = "CC",size=rel(1.2)),#x轴字体
  29.            axis.line=element_line(colour="grey"),#坐标轴颜色
  30.            axis.title.y=element_blank(),#y轴标题为空
  31.            axis.title.x=element_text(hjust = 0,family = "CB",size=rel(0.9)),#x轴标题字体
  32.            legend.title=element_blank(),#图例标题字体
  33.            legend.text=element_text(family = "CA",size=rel(0.8))#图例字体
  34.            )
  35. p<-p+coord_flip()+scale_y_continuous(name="资料来源:某银行年度报表",breaks = c(seq.int(0,2000,200)))
  36. p
复制代码


已有 2 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 精彩帖子
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

使用道具

14
fafazai 发表于 2016-5-29 12:45:28 |只看作者 |坛友微信交流群
其实目前我觉得如果是仅仅做报表的话,Excel,SQL Server那个系列,SAP BO, Oracle等这些都可以,所以R做报表的优势请楼主在帮忙分析,另外由于不能离开R的环境,那是否可以把这个报表放到Web上,供别人查看呢?

使用道具

15
jiangbeilu 学生认证  发表于 2016-5-29 12:49:01 |只看作者 |坛友微信交流群
xiaocai_82 发表于 2016-5-27 23:21
R语言制作图表的步骤很简单,一般无非是以下流程,很多人想不明白为什么必须要用R语言来画图,有两个优点: ...
Excel可以作地图的,请参见刘万祥老师的Excel用地图说话

使用道具

16
xiaocai_82 发表于 2016-5-29 12:53:28 |只看作者 |坛友微信交流群
fafazai 发表于 2016-5-29 12:45
其实目前我觉得如果是仅仅做报表的话,Excel,SQL Server那个系列,SAP BO, Oracle等这些都可以,所以R做报 ...
跟EXCEL比强在数据处理,跟其他数据库比强在图形展示。仅做图表方面,可能杀鸡用牛刀,但所有东西都是自动化的不是很好,一张报表好做,难得是做数以百计的报表,几十年如一日的做报表,这时候R语言可以将这些机械的动作都程序化,一天节省一小时做表,那么日积月累时间就很可观了。
已有 1 人评分经验 收起 理由
zl89 + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

使用道具

17
xiaocai_82 发表于 2016-5-30 20:05:10 |只看作者 |坛友微信交流群
第三回:极简代码画出股票走势图。这个例子让我认识到r语言package的强大,quantmod包可以快速获得股票的行情数据,包括全球各大股市的,代码简单的让人发指了。
Rplot.png
  1. library(quantmod)
  2. getSymbols("^SSEc")
  3. candleChart(to.monthly(SSEC),theme = "white")
复制代码



已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

18
xiaocai_82 发表于 2016-5-30 20:11:59 |只看作者 |坛友微信交流群
xiaocai_82 发表于 2016-5-30 20:05
第三回:极简代码画出股票走势图。这个例子让我认识到r语言package的强大,quantmod包可以快速获得股票的行 ...
下面是部分综合指数的代码,供参考。
未命名-1.png
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

19
日新少年 学生认证  发表于 2016-6-2 22:29:41 |只看作者 |坛友微信交流群
xiaocai_82 发表于 2016-5-30 20:11
下面是部分综合指数的代码,供参考。
谢谢楼主分享,正在学习,你做的太精彩了,赞一个!!

使用道具

20
dcwang1233 发表于 2016-6-3 05:56:20 |只看作者 |坛友微信交流群
好文共賞

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 00:43