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

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

最新文章

  1. 改善C#公共程序类库质量的10种方法
  2. merge 实现
  3. MyEclipse 6.5 代码自动提示功能配置教程
  4. Web Server 和 HTTP协议(转)
  5. getDefinitionByName与ApplicationDomain.getDefinition
  6. php缓存技术常用函数
  7. 简单的RPC java实现
  8. 顶层const和底层const
  9. Linux中kettle启动spoon.sh遇到的问题
  10. 二、Solr单机版的搭建
  11. VMWare 虚拟化 Ubuntu 64 (16.04)-- docker 无法链接 pull 镜像 ?(solved)
  12. Mysql和mongo安装配置
  13. 读书笔记-JavaScript高级程序设计(1)
  14. 编写高质量代码:改善Java程序的151个建议 --[26~36]
  15. VUE 微信开发
  16. 洛谷 P2292 [HNOI2004] L语言 解题报告
  17. Download and Installation of Kibana
  18. 06. pt-duplicate-key-checker
  19. Log4Net记录到数据库
  20. Pandas数据分析python环境说明文档

热门文章

  1. 【POJ】2240 Arbitrage
  2. 将数据写到kafka的topic
  3. C++ vector操作--往列表中添加或更新内容
  4. Laravel Illuminate\Http\Exceptions\PostTooLargeException
  5. canvas绘制线和矩形
  6. thinkphp ASSIGN标签
  7. csps模拟9495凉宫春日的忧郁,漫无止境的八月,简单计算,格式化,真相题解
  8. kubernetes 强制删除istio-system空间,强制删除pod
  9. (转)Wireshark &quot;The NPF driver isn’t running…&quot;(
  10. 盒子阴影 box-shadow