楼主: 慕目穆木
6918 1

[学习分享] 用R绘制水平方向的条形图并在相应位置添加标签 [推广有奖]

  • 0关注
  • 1粉丝

已卖:20份资源

硕士生

20%

还不是VIP/贵宾

-

威望
0
论坛币
56 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
5016 点
帖子
91
精华
0
在线时间
150 小时
注册时间
2016-9-8
最后登录
2019-2-25

楼主
慕目穆木 学生认证  发表于 2017-11-9 12:10:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
之前因为课上需要所以要画一个水平方向的条形图,论坛中有很多大神的分享让我终于摸索了出来,所以现在准备把自己的绘图过程分享出来,也是想给以后遇到和我相似问题的朋友们能很快的解决掉。
我的数据是网易在2002-2016年在游戏、广告、电商及其他的各季度收入,因为季度收入绘制出来的条形图太长,不方便展示,所以首先先把季度收入都合并成了年收入。
neteaserevenue.zip (1.5 KB, 需要: 2 个论坛币) 本附件包括:
  • neteaserevenue.csv

  1. ne<-read.csv("neteaserevenue.csv")   
  2. head(ne[,1:7])                   #网易从03年3季度才开始将游戏业务拆分出来
复制代码

   X  num qq 游戏 广告     电商.邮箱及其他服务  总计
1 1 2002 Q1   NA  395                1997                2392
2 2 2002 Q2   NA  803                3034                3837
3 3 2002 Q3   NA  980                6400                7380
4 4 2002 Q4   NA 1250                8310              9560
5 5 2003 Q1   NA 1200               10600             11800
6 6 2003 Q2   NA 2080               11500              13580


  1. nr<-matrix(ne$总计[1:60],ncol=4,nrow=15,byrow=T)          #将每季度的总收入变成4*15的矩阵,下同
  2. ng<-matrix(ne$游戏[1:60],ncol=4,nrow=15,byrow=T)
  3. na<-matrix(ne$广告[1:60],ncol=4,nrow=15,byrow=T)
  4. no<-matrix(ne$电商.邮箱及其他服务[1:60],ncol=4,nrow=15,byrow=T)
  5. nr2<-apply(nr,1,FUN=sum)                                  #将总收入按行合并,求出每一行的和,即得到每年的总收入
  6. ng2<-apply(ng,1,FUN=sum)
  7. na2<-apply(na,1,FUN=sum)
  8. no2<-apply(no,1,FUN=sum)
  9. year<-seq(2002,2016)
复制代码
       year    ng2    na2    no2         nr2
[1,] 2002     NA  3428     19741   23169
[2,] 2003     NA  8640      34830  56190
[3,] 2004  59000 15510 14970  89480
[4,] 2005 137994 21208  7373 166575
[5,] 2006 185010 28576  7540 221126
[6,] 2007 193300 30510  6800 230610


现在ne3就是我们所需要的年收入的矩阵了,接下来就根据这个矩阵来绘制所需要的条形图
  1. ne4<-t(ne3[,2:4])                                             #绘图需要三个分类的年收入数据
  2. bp2<-barplot(ne4,horiz=T,xlim=c(-170000,5000000),axes=F,col=c("lightgreen","yellow","lightpink"),border=F)
复制代码
Rplot03.jpeg
最后得出的就是我们所希望看到的条形图的形式,这里面有一些是我自己摸索出来的,不一定是最好的方法,如果有更好的希望各位大神能够予以指出。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


Rplot02.jpeg (302.88 KB)

Rplot02.jpeg

沙发
nkunku(未真实交易用户) 发表于 2017-11-10 05:23:28
用R绘制水平方向的条形图并在相应位置添加标签,不错

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 07:48