1.分组散点图

①xyplot()函数

> library(lattice)
> xyplot(mpg~disp, #定义Y~X轴
+ data=mtcars,
+ groups=cyl, #定义分组
+ auto.key=list(corner=c(1,1))) #设置图例

②qplot()函数

> library(ggplot2)                   #加载包
> qplot(disp,mpg,data=mtcars,
+ col= as.factor(cyl)) #用颜色分组
> qplot(disp,mpg,data=mtcars,
+ shape=as.factor(cyl)) #用形状分组
> qplot(disp,mpg,data=mtcars,
+ size=as.factor(cyl)) #用大小分组

  

2.添加标识点   #text()函数

> health<-read.csv("HealthExpenditure.csv",header=TRUE)
> plot(health$Expenditure,health$Life_Expectancy,type="n") #定义X轴,Y轴,以无散点形式画图
> text(health$Expenditure,health$Life_Expectancy,health$Country) #以坐标添加城市名为标识点

3.相关系数散点图

> panel.cor <- function(x, y, ...)
+ {
+ par(usr = c(0, 1, 0, 1)) #自定义每个坐标系范围
+ txt <- as.character(format(cor(x, #cor计算相关系数,as.character转换为字符串
+ y), digits=2)) #digits=2保留两位小数
+ text(0.5, 0.5, txt, cex = 6* #以(0.5,0.5)的坐标标识相关系数
+ abs(cor(x, y))) #数字大小为相关系数的六倍
+ }
> pairs(iris[1:4], #以iris数据集的1到4列两两组合画散点图
+ upper.panel=panel.cor) #右上方的三角形区域画相关系数代替散点图

4.误差条  #arrows()函数

> plot(mpg~disp,data=mtcars)
> arrows(x0=mtcars$disp, #设置起始点
+ y0=mtcars$mpg*0.95, #设置向下的终点
+ x1=mtcars$disp,
+ y1=mtcars$mpg*1.05, #设置向上的终点
+ angle=90, #设置角度
+ code=3, #设置样式
+ length=0.04, #设置长度
+ lwd=0.4) #设置宽度
> arrows(x0=mtcars$disp*0.95, #设置向左的终点
+ y0=mtcars$mpg, #设置起始点
+ x1=mtcars$disp*1.05,
+ y1=mtcars$mpg,
+ angle=90,
+ code=3,
+ length=0.04,
+ lwd=0.4)

5.密集散点图  #jitter()函数:给向量加上少许噪音

> x <- rbinom(1000, 10, 0.25)    #随机生成1000个均值为10*0.25=2.5的数
> y <- rbinom(1000, 10, 0.25)
> plot(x,y)
> plot(jitter(x), jitter(y))

       

6.三维散点图   #scatterplot3d()函数

> library(scatterplot3d)
> scatterplot3d(x=mtcars$wt,
+ y=mtcars$disp,
+ z=mtcars$mpg)

> scatterplot3d(mtcars$wt,mtcars$disp,mtcars$mpg,
+ pch=16, #实心散点
+ highlight.3d=TRUE, #设置渐变颜色
+ angle=20, #X和Y轴的夹角
+ xlab="Weight",
+ ylab="Displacement",
+ zlab="Fuel Economy (mpg)",
+ type="h", #画散点垂直线
+ main="Relationships between car specifications")

7.QQ图(检验数据是否服从正态分布)

> qqnorm(mtcars$mpg)        #画散点
> qqline(mtcars$mpg) #画线(如果为一条直线,则数据服从正态分布)

8.密度表示  #rug()函数

> metals<-read.csv("metals.csv")
> plot(Ba~Cu,data=metals,xlim=c(0,100)) #画散点图
> rug(metals$Cu) #密度表示(默认画在X轴方向)
> rug(metals$Ba,
+ side=2, #在Y轴方向表示
+ col="red",
+ ticksize=0.02) #设置长度

9.雾化散点图   #smoothScatter()函数

> n <- 10000
> x <- matrix(rnorm(n), ncol=2)
> y <- matrix(rnorm(n, mean=3,sd=1.5), ncol=2)
> smoothScatter(x,y)

R语言-散点图进阶的更多相关文章

  1. R语言编程艺术(5)R语言编程进阶

    本文对应<R语言编程艺术> 第14章:性能提升:速度和内存: 第15章:R与其他语言的接口: 第16章:R语言并行计算 ================================== ...

  2. R语言实战(七)图形进阶

    本文对应<R语言实战>第11章:中级绘图:第16章:高级图形进阶 基础图形一章,侧重展示单类别型或连续型变量的分布情况:中级绘图一章,侧重展示双变量间关系(二元关系)和多变量间关系(多元关 ...

  3. 第五篇:R语言数据可视化之散点图

    散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制 ...

  4. 【R笔记】R语言进阶之4:数据整形(reshape)

    R语言进阶之4:数据整形(reshape) 2013-05-31 10:15 xxx 网易博客 字号:T | T 从不同途径得到的数据的组织方式是多种多样的,很多数据都要经过整理才能进行有效的分析,数 ...

  5. R语言与医学统计图形【2】散点图、盒形图

    R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...

  6. r语言之散点图绘制及参数

    一个简单的例子: > plot(cars$dist~cars$speed,+ main="车位移与速度的关系",+ xlab="速度",+ ylab=&q ...

  7. R语言进阶之4:数据整形(reshape)

    一.通过重新构建数据进行整形 数据整形最直接的思路就把数据全部向量化,然后按要求用向量构建其他类型的数据.这样是不是会产生大量的中间变量.占用大量内存?没错.R语言的任何函数(包括赋值)操作都会有同样 ...

  8. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  9. R语言函数总结(转)

    R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...

随机推荐

  1. 04_安装Nginx图片服务器

    一.安装Nginx 先安装Nginx,看我之前发的文章: 搭建Nginx服务器 二.安装vsftpd 再安装vsftpd组件,看我之前发的文章: Linux安装ftp组件 三.开始搭建Nginx图片服 ...

  2. 用CSS3制作尖角标签按钮样式

    如图的效果.标签有背景色,且左侧有一个三角形,三角形中间有个白色的圆圈. 你一定在想这个效果是背景图切出来的吧——答案是没有用到任何图片 那你会不会在想这个效果的html结构很复杂呢——答案是最简单的 ...

  3. Vue.js学习使用心得(四)——组件

    一.组件 组件(Component)是 Vue.js 最强大的功能之一. 组件可以扩展 HTML 元素,封装可重用的代码. 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界 ...

  4. Linux监控平台、安装zabbix、修改zabbix的admin密码

    1.Linux监控平台 2. zabbix监控 3.zabbix的安装下载:wget -c https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbi ...

  5. [CF1041F Ray in the tube][数学]

    http://codeforces.com/contest/1041/problem/F 题目大意: 下边界有n个给定点,上边界有m个给定点,可以从任意一个点发出一条激光,激光碰到边界会反射 激光到达 ...

  6. 洋葱第4场C和D题解……

    只是记录一下: 我们机房讨论的结果……(当然有一个au爷一开始就秒掉了……首先先n^2或随机枚举出一对点根据抽屉原理可得枚举(n/2)^2+1次后至少有一对点全是对的然后对于两个对的点,首先考虑缩放比 ...

  7. PythonStudy——Python 内置函数 Built-in function

    内置方法:Python中声明每一个类系统都会加上一些默认内置方法,提供给系统调用该类的对象时使用.比如需要实例化一个对象时,需要调用该类的init方法:使用print去打印一个类时,其实调用的是str ...

  8. 查看linux系统CPU及内存配置

    总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep & ...

  9. DataTable的详细用法

    在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 一.DataTable简 ...

  10. bootstrap之navbar

    container:固定960px宽度,(如果又引入了响应式样式,则会适当调整,例如1600*900,它会显示1200px) container-fluid:自适应屏幕宽度,即满屏显示. row和co ...