前言

最近某项目要搞数据挖掘,需要对数据进行可视化显示,原本我是打算直接用excel 算了,打算,用了一段时间,发现有些数据图用excel麻烦得要命,然后,上网找了一下,原来,有在这方面也有一门专门的语言----R语言,我发现,用它绘制数据图十分强大,就打算花几天,就学习如何用R语言绘制数据图

散布图(scatter plots)

需要掌握的命令:

plot()

xyplot()

qplot()

text()

smoothScatter()

matrix()

jitter()

rbinom()

rnorm()

lines()

lowess()

nls()

用的的包:

ggplot2

lattice

scattersplot3d

帮助用法:

命令行里面直接打

?你要查的命令即可

基础用法:

   
   
   
   
  1. plot(cars$dist~cars$speed) 

R语言----绘图学习笔记之Scatter plots_第1张图片

更多用法在R控制台中打上

   
   
   
   
  1. plot 

你就清楚用法了

xyplot

数据汇总方法

   
   
   
   
  1. xyplot(Sepal.Length~Sepal.Width,data=iris,groups=Species,auto.key=list(corner=c(1,1))) 

R语言----绘图学习笔记之Scatter plots_第2张图片

格栅

qplot()

   
   
   
   
  1. qplot(Sepal.Length,Sepal.Width,data=iris,col=as.factor(Species),size=as.factor(Species),shape=as.factor(Species)) 

R语言----绘图学习笔记之Scatter plots_第3张图片

标识点

   
   
   
   
  1. plot(mpg~disp,data=mtcars)  
  2. text(160,21,"Mazdz RX4"

R语言----绘图学习笔记之Scatter plots_第4张图片

抖动(jitter)

   
   
   
   
  1. x <- rbinom(1000, 10, 0.25)  
  2. y <- rbinom(1000, 10, 0.25)  
  3. plot(x, y) 

R语言----绘图学习笔记之Scatter plots_第5张图片

抖动后

   
   
   
   
  1. plot(jitter(x),jitter(y)) 

R语言----绘图学习笔记之Scatter plots_第6张图片

x所有点都可以显示出来

 

直线模式:

   
   
   
   
  1. plot(mtcars$mpg~mtcars$disp)  
  2. lmfit <- lm(mtcars$mpg~mtcars$disp)  
  3. abline(lmfit) 

R语言----绘图学习笔记之Scatter plots_第7张图片

非线性模式的曲线:

   
   
   
   
  1. x <- -(1:100)/10  
  2. y <- 100+10*exp(x/2)+rnorm(x)/10  
  3. nlmod <- nls(y~Const+A*exp(B*x),trace=TRUE)  
  4. plot(x,y)  
  5. lines(x,predict(nlmod),col="red"

R语言----绘图学习笔记之Scatter plots_第8张图片

非参数值的曲线(英文是non-parametric,我也搞不清楚这样了解对不对)

   
   
   
   
  1. plot(cars, main="测试lowess")  
  2. lines(lowess(cars), col="red")  
  3. lines(lowess(cars, f=0.3), col="blue"

R语言----绘图学习笔记之Scatter plots_第9张图片

制作3D视图

需要使用 scattersplot3d 包

   
   
   
   
  1. scatterplot(mtcars$wt, mtcars$disp, mtcars$mpg) 

R语言----绘图学习笔记之Scatter plots_第10张图片

QQ图(研究正态分布的一种图…)

   
   
   
   
  1. qqnorm(mtcars$mpg)  
  2. qqline(mtcars$mpg) 

R语言----绘图学习笔记之Scatter plots_第11张图片

在坐标轴上显示数据密度

   
   
   
   
  1. x <- rnorm(1000)  
  2. plot(density(x))  
  3. rug(x) 

R语言----绘图学习笔记之Scatter plots_第12张图片

大数据的平滑分散图显示

   
   
   
   
  1. n <- 1000000  
  2. x <- matrix(rnorm(n), ncol=2)  
  3. y <- matrix(rnorm(n,mean=3,sd=1.5), ncol=2)  
  4. smoothScatter(x,y) 

R语言----绘图学习笔记之Scatter plots_第13张图片

这么看正态分布图挺带感的

资源检索

http://addictedtor.free.fr/graphiques/