zoukankan      html  css  js  c++  java
  • R语言:表格的线图转化

    R语言:表格的线图转化

    最先选取的是北京各区普通住宅成交十年(2016年及2006年)涨幅对比。这张图比较plain,主要拿来练习:

    1.数据表格的基本整理及计算

    2. 数据的初步分析

    3.线图的基本绘图


    图片来自网络

    图片输入为excel,然后倒入到r程序中。

    install.packages("openxlsx")

    library(openxlsx)

    readFilePath<-"E:/citystock.xlsx"

    mydata<-read.xlsx(readFilePath,"Sheet2")

    按照短平快的思路,首先把线图做出来

    plot(mydata$y2006,col="red",ylim=c(0,95000),type="b")lines(mydata$y2016,col="blue",type="b")

    lines单独不能绘图,所以要plot先行。


    图片版权为作者所有

    2. 按照原始的表格,各区排名高低错落,看不出来趋势,所以插入order语句按照2006年的均价进行排序。然后检查一下。

    mydata<-mydata[order(mydata$y2006),]

    mydata

    3.修改plot及lines语句,进行美化,线条及图例进行区分,因为区名是比较长的中文,所以字体要进行竖排及缩小,las=1,cex为0.5。

    加入2006年及2016年均价的中间值(黄色线),作为参考。

    mydata$mid<-(mydata$y2006 mydata$y2016)%/%2

    plot(mydata$y2006,col="red",ylim=c(0,95000),type="b",xaxt="n",ylab="price")

    lines(mydata$y2016,col="blue",type="b",pch=17,las=1)

    lines(mydata$mid,col="gold",type="b",pch=16)

    axis(1,las=2,at=c(1:16),labels=mydata$city,cex.lab=0.5)


    4. 加入2006年,2016年各自的平均线,颜色为灰色及粉红。这样哪个区是超出的,一目了然。

    abline(h=(mean(mydata$y2006) mean(mydata$y2016))%/%2,col="grey")

    abline(h=mean(mydata$y2016),col="pink")

    abline(h=mean(mydata$y2006),col="pink")

    5. 加入图例legend,,在2016年均线上加入互动标注(点击后才出现),以及缺省栅格

    legend("topleft",bty="n",horiz=TRUE,pch=c(17,16,21),c("2016","mean","2006"),col=c("blue","gold","red"),cex=0.8)

    text(locator(1),"2016均价",4,cex=.8,color="brown")

    grid()

    至此,由简单表格转化的图表基本完成。不过从图像来看,好像东城区涨幅最惊人,但是通过表格,其实东城区的涨幅并非最高。因此我们可能需要用条形图再显示。这个就需要我继续努力啦。数据分析培训

  • 相关阅读:
    备份服务器实战
    LAMP架构编译安装过程详解
    centos .7x service iptables save 错误解决方案
    Linux上安装jdk1.8和配置环境变量
    YUM源使用阿里镜像
    Linux增加swap分区的方法
    elasticsearch5.4集群超时
    职场PPT达人装酷的13条秘诀
    千古绝唱风月事,河山绘尽一人心
    前端集成解决方案
  • 原文地址:https://www.cnblogs.com/amengduo/p/9587186.html
Copyright © 2011-2022 走看看