R语言:表格的条形图转化

作者: 只是不在意 | 来源:发表于2017-02-05 21:42 被阅读0次

    接着上一篇文章R语言:表格的线图转化继续练习,这次是直方图。

    前段时间在视频课程学习过直方图案例,有一个citysales表格,表示3种产品,在5个城市的销量。

    运用的是“barplot”命令,程序如下:

    citysales<-read.csv("citysales.csv")

    x<-barplot(as.matrix(citysales[,2:4]),beside=TRUE,

    legend.text=citysales$City,args.legend=list(bty="n",horiz=TRUE),

    col=brewer.pal(5,"Set1"),border="black",ylim=c(0,100))

    自己用来练习的表格,还是上次那个。

    因为这次想用案例中的色库,所以安装了“RColorBrewer”包。

    install.packages("RColorBrewer")

    library(RColorBrewer)

    然后按照案例中语句,写了一下。颜色参数有一点改动。

    barplot(as.matrix(mydata[,2:3]),las=2,beside=TRUE,col=brewer.pal(2,"Set2"))

    噫,为什么2006一列,2016一列?看回案例,barplot命令是根据列分组的,所以这里也根据了两个年份分组。

    这样的图形不是我想要的,所以用 t命令 把mydata的行列互相置换了一下。

    b<-as.matrix(mydata[,2:3]); c<-t(b)

    barplot(c,las=2,beside=TRUE,col=brewer.pal(2,"Set2"))

    这次出现的图形就对了,但是x轴的图标不对。区域名消失了。

    很奇怪的是,如果整个mydata置换,就会把整个matrix都变成字符,barplot就不能只打印其中的两列,必须置换成数值

    d<-as.matrix(mydata);e<-t(d)

    barplot(as.numeric(e[2:3,]),las=2,col=brewer.pal(3,"Set2"),beside=TRUE,ylim=c(0,95000))

    图形跟上图一样,就是没有x轴的数字了。

    如果索性在excel表里手动置换行和列,也是可以的。

    barplot(as.matrix(mydata2[,2:16]),las=2,beside=TRUE,col=brewer.pal(2,"Set2"),ylim=c(0,95000))

    如果去掉“beside=TRUE”语句,则形成层叠图。再加上增长幅度曲线rate。但是因为增长幅度数值相对于几万的房价比较小,所以乘以5000倍才能看得见。

    lines(mydata$rate*5000,col="gold")

    这里又出现了一个缺点,涨幅曲线和柱状图差了一个,当然在excel表是完全对应的。还没有找出原因。望各位大神指教。

    这次的练习:

    1.条形图的转化

    2.两种图形的叠加

    3.RColorBrew包及相关命令

    不明白/没做出来的地方

    1.用barplot打印matrix的格式

    2.matrix怎么加表头

    3.Line和条形图的对应

    相关文章

      网友评论

        本文标题:R语言:表格的条形图转化

        本文链接:https://www.haomeiwen.com/subject/cpieittx.html