R多行交叉作图
#中文 UTF-8编码 3.4.0
library(Hmisc)
mydata = read.table('clipboard',header = T)
head(mydata)
mycol=c(rgb(1,0,0,0.3),'cadetblue','darkseagreen',
'aquamarine3','darkslateblue','red','blue')
coltextandlabel = 'black'
####################################################################
dev.new()
close.screen(all.screens = T)
split.screen(c(1,1))
mybottom = c(seq(0.7,0.25,length.out = 4),0.12,0)
mytop = c(seq(1,0.45,length.out = 4),0.25,0.13)
mylayout = matrix(data = c(rep(0,6),rep(1,6),mybottom,
mytop),ncol = 4)
split.screen(mylayout)
mtck =-0.03;mmgp = c(3.5,0.5,0);mline = 2.5; mlwd = 2
#########################################################
id=2
screen(id)#准备绘制第2号屏幕,也是最上面的图
par(tck = mtck,mar=c(0,4,2,4),mgp=mmgp,las=1)
yl = range(na.exclude(mydata$NO3))
plot(x=mydata$depth,y=mydata$NO3,type='l',axes=F,lwd=mlwd,
ylab='',xlab='',col=mycol[id],ylim=yl)
#axis(4,at=seq(0,4.8,length.out = 4),col=mycol[id],col.axis=mycol[id])
axis(4,at=seq(0,4.8,length.out = 4))
mtext(side = 4,line = mline,las=0,
text = expression(paste(NO[3]^'-',' (μeq/L)')))
#########################################################
id=3
screen(id)#准备绘制第3号屏幕,也是最上面的图
par(tck = mtck,mar=c(0,4,0,4),mgp=mmgp,las=1)
yl = range(na.exclude(mydata$NH4))
plot(x=mydata$depth,y=mydata$NH4,type='l',axes=F,lwd=mlwd,
ylab='',xlab='',col=mycol[id],ylim=yl)
axis(2,at=seq(0,12,length.out = 4))
mtext(side = 2,line = mline,las=0,
text = expression(paste(NH[4]^'+',' (μeq/L)')))
#########################################################
id=4
screen(id)#准备绘制第3号屏幕,也是最上面的图
par(tck = mtck,mar=c(0,4,0,4),mgp=mmgp,las=1)
yl = range(na.exclude(mydata$Ca))
plot(x=mydata$depth,y=mydata$Ca,type='l',axes=F,lwd=mlwd,
ylab='',xlab='',col=mycol[id],ylim=yl)
axis(4,at=seq(0,5400,length.out = 4))
mtext(side = 4,line = mline,las=0,
text = expression(paste(Ca^'2+',' (μeq/L)')))
#text = expression(paste(Ca^'2+','\n(μeq/L)'
#erase.screen(4)
#########################################################
id=5
screen(id)#准备绘制第3号屏幕,也是最上面的图
par(tck = mtck,mar=c(0,4,0,4),mgp=mmgp,las=1)
plot(x=mydata$depth,y=mydata$Mg,type='l',axes=F,lwd=mlwd,
ylab='',xlab='',col=mycol[id])
axis(2,at=seq(0,600,length.out = 4))
mtext(side = 2,line = mline,las=0,
text = expression(paste(Mg^'2+',' (μeq/L)')))
#########################################################
id=6
screen(id)#准备绘制倒数第二个屏幕,也是最上面的图
prdata = cbind(mydata$depth,mydata$precipitation.mm.)
prdatan = prdata[!is.na(prdata[,2]),]
range(prdatan[,2])
par(tck = mtck,mar=c(0,4,0,4),mgp=mmgp,las=1)
plot(x=prdatan[,1],y=prdatan[,2],type='l',axes=F,
ylab='',xlab='',col=mycol[id])
axis(4,at=seq(250,500,length.out = 3),tck=-0.05)
mtext(side = 4,line = mline,las=0,
text = 'Pr.(mm)')
#########################################################
id=7
screen(id)#准备绘制倒数第一个屏幕,也是最上面的图
wqldata = cbind(mydata$depth,mydata$w.q.l.mm.)
wqldatan = wqldata[!is.na(prdata[,2]),]
range(wqldatan[,2])
par(tck = mtck,mar=c(2.5,4,0,4),mgp=mmgp,las=1)
plot(x=wqldatan[,1],y=wqldatan[,2],type='l',axes=F,
ylab='',xlab='',col=mycol[id])
axis(2,at=seq(400,800,length.out = 2),tck=-0.07)
mtext(side = 2,line = mline,las=0,
text = 'w.q.l.(mm)')
#########################################################
id=1
screen(id,new=F)
par(tck = -0.01,mar=c(2.3,4,2,4),mgp=c(2.3,1,0))
plot(x=mydata$depth,y=mydata$Mg,type='n',axes=F,
ylab='',xlab='',col=mycol[id])
axis(1,at=seq(0,2200,200),padj = -1)
mtext(side = 1,text = 'Depth (cm)',line = 1.3)
box()
majorvline=mydata$depth[which(mydata$THICK!='NA')]
abline(v= majorvline,col='orangered',lty=1,lwd=1.5)
minorvline=mydata$depth[which(mydata$THIN!='NA')]
abline(v= minorvline,col=mycol[id],lty=2,lwd=1)
at3=mydata$depth[which(mydata$alllabel!='NA')]
lab3=mydata$alllabel[which(mydata$THICK!='NA')]
mtext(side = 3,at=majorvline,text = c(lab3),cex=1,col='orangered')
R多行交叉作图的更多相关文章
- 【R语言系列】作图入门示例一
假设有如下数据,我们使用plot函数作图 月龄 体重 月龄 体重 1 4.4 9 7.3 3 5.3 3 6.0 5 7.2 9 10.4 2 5.2 12 10.2 11 8.5 3 6.1 R语 ...
- R随机森林交叉验证 + 进度条
library(data.table) library(randomForest) data <- iris str(data) #交叉验证,使用rf预测sepal.length k = 5 d ...
- 使用 win+r 命令行打开我们的桌面应用(处女座的福音)
首先新建一个文件夹,名为quickapp,然后在地址栏复制文件目录地址,进入系统高级设置,修改系统环境变量Path,双击后选择新建,输入quickapp文件目录地址,确认保存. 如何修改path变量? ...
- 【R】行或列数目不同的两个数据框如何用rbind/cbind合并?
目录 前言 方法一:dplyr的bind_rows 方法二:plyr的rbind.fill 前言 通常我们用rbind和cbind合并相同行列的数据框.当两个数据框具有不同行列数目时,直接用会报错. ...
- 【editplus经常用的快捷键】Editplus 选中一行ctrl+r,Edit 合并行 Ctrl+Shift+J 合并选定行 删除当前行
Editplus 选中一行: ctrl+rEditplus 复制一行: ctrl+r选择行,然后ctrl+c复制.复制一行到下一行中:Editplus有:Ctrl+j 复制上一行的一个字符到当前行Ed ...
- [R] 如何在Linux命令行进行参数传入?
以前由于R命令行传参不友好,经常嵌套在其他程序语言(如Perl/Python)中来进行传参,但现在也陆续有一些方式来实现R的传参了,这里简单罗列下. 方法一 最传统的方法就是使用系统自带的comman ...
- 深入对比数据科学工具箱:Python和R之争
建议:如果只是处理(小)数据的,用R.结果更可靠,速度可以接受,上手方便,多有现成的命令.程序可以用.要自己搞个算法.处理大数据.计算量大的,用python.开发效率高,一切尽在掌握. 概述 在真实的 ...
- R语言学习2:绘图
本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...
随机推荐
- lower_bound && upper_bound
用lower_bound进行二分查找 ●在从小到大排好序的基本类型数组上进行二分查找. 这是二分查找的一种版本,试图在已排序的[first,last)中寻找元素value.如果[first,last ...
- findStr
目录 规则 目录结构 src/main.cpp src/findstr.cpp include/findstr.h ft/TestCase.cpp ft/makefile ftbuild.sh mai ...
- 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,首先是下载一个适合自己已安装服务器版本的mysql数据库. 这里使用网上的链接http://dev.mysql.com/downloads/mysql ...
- PTA天梯地图
本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输 ...
- WIN7搭建ASP站点
在WIN7配置IIS用于搭建ASP站点(非ASP.NET) ,仅安装.配置必要文件. 1.安装IIS管理工具,用于支持静态页面. 2.添加匿名访问权限. 搭建站点指定到特定文件夹,浏览静态页面会报如下 ...
- property 和 魔法方法
property和魔法方法 一.property 二.model,class,bases,mro 三.__doc__, __dict__,__call__,__item__,__len__,__str ...
- Python四线程爬取西刺代理
import requests from bs4 import BeautifulSoup import lxml import telnetlib #验证代理的可用性 import pymysql. ...
- cocos2dx JS layuot纯代码实现背景颜色渐变
// view._partyBtnClassify.setBackGroundColorType(ccui.Layout.BG_COLOR_GRADIENT);// view._partyBtnCla ...
- Python WebSocket长连接心跳与短连接
python websocket 安装 pip install websocket-client 先来看一下,长连接调用方式: ws = websocket.WebSocketApp("ws ...
- php 实现简拼
<blockquote>model::::::::::::::::::::::::::::: function getFirstCharter($str){if(empty($str)){ ...