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()

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

  • 相关阅读:
    PetShop数据访问层之消息处理 《解剖PetShop》系列之三
    正则过滤汉字
    c语言 断点续传3
    c 写cgi 与socket通信
    C 语言 断点续传2
    承接B2C商城定制开发 空间+域名+风语商城系统=¥4000
    16进制 SQL注入
    c# socket传送大文件
    c写cgi cookies 设置与读取
    cgi 操作封装
  • 原文地址:https://www.cnblogs.com/amengduo/p/9587186.html
Copyright © 2011-2022 走看看