R语言绘制三维图

合集下载

R语言绘图

R语言绘图

R语言绘图画图例子 R Graph Cookbook例子 [html] view plain copy print ? span style =font-size:18px; / span [html] view plain copy print ? span style = font-size:18px; From: / span a href = span style = fon画图例子R Graph Cookbook例子[html] view plaincopyprint? <span style="font-size:18px;"></span>[html] view plaincopyprint?<span style="font-size:18px;">From:</span><a href=""><span style="font-size:18px;"></span></a>今天突然找到一本专门教授R语言绘图的书,R Graph Cookbook,发现还不错。

当初喜欢上R语言就是因为它绘图特别好看。

下面把这本书的内容,经过我学习后,翻译并贴上了吧。

(我水平还不够,原创还不行呀,不过学习就是先模仿再创新的过程)之所以要贴到博客上来,我是怕有一天我也忘记了,好直接到我博客上来搜索一下,同时也方便了别人。

下面说的是用R语言绘制散点图。

其实绘制散点图,用plot(x,y)直接就可以了,不过这样绘制出来的散点图太简单了,不能达到使用的要求,所以要详细得设置一些参数,才能让图形更加的漂亮。

还是直接上代码吧,我已经做好注释的了。

1.<span style="font-size:18px;">plot(cars$dist~cars$speed,#y~x,cars是R自带的数据2.main="Relationship between car distance & speed",#标题3.xlab = "Speed(miles per hour)",#x轴标题4.ylab = "Distance travelled (miles)",#Y轴标题5.xlim = c(0,30),#设置x轴的取值区间为0到306.ylim = c(0,140),#设置y轴的取值区间为0到1407.xaxs = "i",#这里是设置x轴的风格,暂时没看明白有多大区别8.yaxs = "i",9.col = "red",#设置颜色10.pch = 19)#pch指代点的形状,用数字表示,可查看帮助文档11.#如果要保存图片怎么办呢?我觉得最简单的方法就是使用RStudio这个IDE,极其得好,可惜很多人都不知道。

R语言可视化PPT第三章基本绘制

R语言可视化PPT第三章基本绘制

Index
0
10
20
30
40
50
60
Index
饼图
pie(x, lables=names(x), edges=200, radius=0.8, density= NULL, angle = 45, col= NULL, border = NULL, lty = NULL, main= NULL….)
plot(1:60,type="l", main=" type=l " ) plot(1:60,type="p", main=" type=p ")
type=l
type=p
1:60 0 10 20 30 40 50 60
1:60 0 10 20 30 40 50 60
0
10
20
30
40
50
60
x = 1:9
y = 5:13
z=x+y
coplot(x~y|z)
5
Given : z
10
15
20
6 8 10 12
6 8 10 12
x
2468 24 68
6或部分图将为每一 行生成x。缺失值(NA)是允许的,但他们被视为0(缩放
stars(x, full = TRUE, scale = TRUE, radius = TRUE,
x 直方图所需的矢量的值, breaks 可以取以下值 代表直方图单元之间的断点的向量 计算断点向量的函数 提供直方图的单元格数的单一数字 用来命名计算单元格数目算法的字 符串(见“细节”) 一个计算单元格数目的函数。
freq 这是一个逻辑值;如果是真,直方图 图表则表示频率,结果的计数部分;如 果假,概率密度,组件密度,被绘制出 来(因此,直方图有一个总面积)。当 且仅当中断等距时默认为真(和概率不 确定)。

R语言的基础绘图技术

R语言的基础绘图技术

R语言的基础绘图技术高水平绘图函数x <- 1:100 #生成1-100的向量y <- 100 + x*5 #100是截距,5是斜率#windows是生成一个窗口更,plot是绘图windows(300,200);plot(y) #散点图windows(300,200);plot(y,type="l") #直线# 生成100个正态分布随机数并绘图x <- rnorm(100,10,5) #均值为10,标准差为5plot(x)# 绘制1000个正态分布随机数的频数直方图x <- rnorm(1000,30,10)hist(x)# 使用核密度估计函数density(),在直方图上绘制密度曲线# hist()函数必须设置freq参数为F才能显示密度曲线x <- rnorm(1000,30,10)hist(x,freq=F)lines(density(x),col="blue")box() #给图加一个方框,看起来完整一些# 茎叶图很直观的表现出数据的分布情况x <- rnorm(100,5,1)stem(x)# 绘制10个正态分布随机数的条形图x <- rnorm(10,30,10);barplot(x)box() # 在当前图上加个方框# 绘制饼图x <-1:5;pie(x,col=rainbow(5)) #rainbow,向量有5个值,不会自己选颜色,系统自动分配box()# 绘制箱线图# 中间黑线为中位数位置;上下框线为上下四分位数位置;上下触须为1.5倍四分位数间距;如果有孤立点表示异常值x <-rnorm(10,10,3);boxplot(x)# 绘制向日葵图data(iris)sunflowerplot(iris[,3:4])# 绘制矩阵或数据框的二元图data(iris)pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",pch= 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])# 绘制QQ图# 如果向量为正态分布则数据点基本在一条直线上x <- rnorm(500,10,5);qqnorm(x)# 根据指定函数绘制指定范围的曲线图curve(sin, -2*pi, 2*pi, xname = "t")低水平绘图函数在高水平绘图函数绘制的图形上做补充和修饰# 生成50个正态分布随机数并绘图x <- 1:50y <- rnorm(50,10,5)#横坐标#纵坐标#type="n"表示开始不绘图#横坐标的名称#纵坐标的名称#横坐标的范围#纵坐标的范围#main表示主名称#sub表示副标题plot(x,y,type="n",xlab="数据索引",ylab="随机数点",xlim=c(1,50),ylim=c(-20,20),main="实验图",sub="随机数绘图") #高水平绘图points(x,y,col="blue") #低水平绘图,绘制所有的点lines(x,y,col="red") #将所有的点连成线text(5,max(y),"随机数据点") # 在指定坐标位置放置文本mtext("横轴下方文字",side=1) # 横轴、纵轴上放置文字mtext("纵轴左方文字",side=2)mtext("横轴上方文字",side=3)mtext("纵轴右方文字",side=4)segments(10,10,50,-10) # 根据起点、终点坐标绘制线段#15表示箭头的角度arrows(10,-10,40,20,angle=15,code=1) # 绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头、2终点箭头,3双箭头)abline(-20,.5) # 在图上绘制直线,第一个参数为截距,第二个参数为斜率abline(h=0,col="red") # 在图上绘制水平线或垂直线,可以标示临界位置,很好用的功能legend(0,max(y),"随机点连线") #图例# 坐标定位模式获得鼠标点击位置的坐标x <- 1:50y <- rnorm(50,10,5)plot(x,y,type="n",xlab="数据索引",ylab="随机数点",xlim=c(1,50),ylim=c(-20,20),main="实验图")print(locator(3,type="p")) # 图像进入定位模式,第一个参数决定获取几个点的坐标信息,第二个参数决定绘图方式rect(5,5,20,20) # 在已经成功绘制的图形内部绘制一个长方形polygon(c(20,10,30,40,45),c(-10,0,15,4,-10)) # 在高级图形内部绘制多边形setwd("D:/rstudiodir") #设置当前工作目录# 生成一个绘图窗口在其中绘制图形后用savePlot()函数保存windows()plot(1:10)rect(1, 5, 3, 7, col="blue")savePlot("test01",type="jpg",device=dev.cur(),restoreConsole=TRUE)# 直接在jpeg设备上绘制图形,完成后使用dev.off()关闭设备,存盘退出jpeg(file="myplot.jpeg")plot(1:10)rect(1, 5, 3, 7, col="blue")dev.off()。

r语言求解相空间重构

r语言求解相空间重构

r语言求解相空间重构相空间重构是一种非线性时间序列分析方法,它可以从高维相空间中重构出系统的动力学行为。

这种方法在许多领域都有广泛应用,如气象学、经济学、生物学等。

下面介绍如何使用R语言进行相空间重构。

1. 导入所需的R包```rlibrary(tseriesChaos)library(nonlinearTseries)```2. 生成测试数据```r# 生成Lorenz吸引子数据lorenz <- lorenz.map(r=28, sigma=10, b=8/3, dt=0.01, x0=c(-8,8,27), n=5000)```3. 相空间重构```r# 使用时延坐标嵌入法进行相空间重构embed_dim <- embed_dim(lorenz[,1], max.embedding=20)# 最优嵌入维度为3m <- embed_dim$m # 嵌入维度# 计算时延tau <- embed_tau(lorenz[,1], m=m, lag.max=20)# 最优时延为18delay <- tau$tau # 时延# 相空间重构reconstructed <- embed(lorenz[,1], m=m, delay=delay)```4. 可视化相空间```r# 绘制三维相空间plot(reconstructed[,1], reconstructed[,2], reconstructed[,3],type="l", xlab="x(t)", ylab="x(t+tau)", zlab="x(t+2*tau)")```以上代码展示了如何使用R语言对Lorenz吸引子进行相空间重构。

首先导入所需的R包,然后生成测试数据。

接着使用时延坐标嵌入法确定最优嵌入维度和时延,并进行相空间重构。

基于R系统的三线图程序开发(动态)

基于R系统的三线图程序开发(动态)

基于R系统的三线图程序包开发刘永生中国地质环境监测院,北京100081,对于水文地质工作者来说,对地下水化学成分进行分析是一项重要的研究工作。

其中K+、Na+、Ca2+、Mg2+、Cl-、SO42-、HCO3-、CO32-等八大离子是地下水化学类型分类的基础,派珀(A.M.Piper)三线图解简单直观的展现了八大离子空间关系,是分析水文地球化学数据的一种很常用的方法。

虽然已有许多软件已经能够很好的画出三线图,但这些软件大部分为商用软件,且价格不菲,也有许多学者也尝试自己编写三线图程序,但这些软件多为图形方式,虽然应用较为简单,但在批量处理数据方面比较繁琐。

本文作者基于免费软件R系统,开发了一个三线图程序包(cigempiper_0.1),可集成到R系统中。

该程序包功能较为齐全,可拓展性强,可以在下一步工作中集成更多的功能,该程序包可适用于批量处理水文地球化学数据。

最后,本文利用河北省保定地区水文地球化学数据进行了计算和图形输出,效果显著。

一、R系统介绍R系统移植于统计计算和图形显示S语言(Becker et al,1988)。

S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。

它的丰富的数据类型(向量、数组、列表、对象等)特别有利于实现新的统计算法,具有交互式运行方式及强大的图形及交互图形功能。

目前S语言的实现版本主要是S-PLUS。

它基于S语言,并由MathSoft公司的统计科学部进一步完善。

作为统计学家及一般研究人员的通用方法工具箱,S-PLUS强调演示图形、探索性数据分析、统计方法、开发新统计工具的计算方法,以及可扩展性,但S-plus售价较贵。

R系统(R Development Core Team,2008)是S语言的另一种实现,是一个提供统计计算和图形显示环境的自由软件。

最早(1995年)是由Auckland大学统计系的Robert Gentleman和Ross Ihaka开始编制,目前由R核心开发小组维护,他们完全自愿、工作努力负责,并将全球优秀的统计应用软件打包免费提供给用户。

怎样用R语言画维恩图

怎样用R语言画维恩图

记得点击 “ Packages ”
,最好下载
到 R 安装文
件夹中的
“library”文 件夹中,便
于集中管理
从程序包菜
单中“从本
地 zip 文件
安装程序
包…”
> utils:::menuInstallLocal() 程序包'VennDiagram'打开成功,MD5 和检查也通过
这是上一步 安装后自动 显示的
> library(VennDiagram)
结 载入需要的程辑包:grid 果 警告信息:
程辑包'VennDiagram'是用 R 版本 2.14.2 来建造的
> x <- c(1,3,5,7,9,11,17,19,21,23,25,29,31,33,37,39,41,47,49,51,57,59)
维恩图的历史1880年维恩venn在论命题和推理的图表化和机械化表现一文中首次采用固定位置的交叉环形式再加上阴影来表示逻辑问题如下图所示这一表示方法不仅让逻辑学家无比激动以致于19世纪后期整个20世纪直到今天还有许许多多的逻辑学家都对此潜心钻研在大量逻辑学著作中venn图占据着十分重要的位置而且维恩图还被应用 14287.759 14297.971 14318.933 14354.718 14530.077
14681.983
[36] 14685.578 14766.872 14817.897 14821.364 15015.235 15043.056
15236.188
[43] 15280.614 15549.818 15640.638 15746.188 15808.372 16510.259
NA
NA

R语言与数据分析之二:绘图

R语言与数据分析之二:绘图

R语⾔与数据分析之⼆:绘图图形展⽰是最⾼效且形象的数据描述⼿段,因此巧妙的图像展⽰是⾼质量数据分析报告的必备内容,因此强⼤的图形展⽰功能也是统计分析软件的必备功能。

R语⾔提供了强⼤的吐⾎展⽰功能。

今天我由简单到复杂分别和⼩伙伴们分享如何⽤R语⾔画出各位想要的图形。

⾸先罗列下所有可选图形:1、直⽅图(hist());2、散点图(plot());3、柱状图(barplot());4、饼图(pie());5、箱线图(boxplot());6、星相图(stars());7、脸谱图(faces());8、茎叶图(stem());9、QQ图(qqnorm());10、地图包maps、mapdata、geosphere为了⽅便地进⾏图形展⽰,我们创建⼀个数据场景,假设我们需要统计学⽣的3门课的考试情况。

我们分别⽣成学号、⾼等数学(80到100的均匀分布)、线性代数(均值80,标准差为7的正态分布)和运筹学(均值83,标准差18的正态分布)三科成绩。

相应的语句为:Num=seq(102001,102100)X1=round(runif(100,min=80,max=100))X2=round(rnorm(100,mean=80,sd=7))X3=round(rnorm(100,mean=83,sd=18))基本统计--单指标考虑到所有的成绩不能超过100分,因此需要将随机⽣成的成绩中⾼于100分的改为100分并将最终修正后的所有成绩连同学号存⼊数据框。

X2[which(X2>100)]=100X3[which(X3>100)]=100X=data.frame(Num,X1,X2,X3)分别画出⾼等数学成绩的直⽅图、⾼等数学和线性代数的相关关系的散点图,运筹学成绩的柱状图和饼图,来观看各科成绩的分布情况。

相应语句如下:hist(X$X1)plot(X1,X2)barplot(table(X$X1))pie(table(X$X1))基本统计--多指标接着我们将三科成绩⽤两种箱线图画出来,箱线图可以更加清楚的解释数据的分布情况,和数据的集中区域。

R语言常用绘图

R语言常用绘图

绘图实验三答案1、画出函数32()21f x x x x =+++在区间[1,10]上的图形,曲线颜色设置为红色。

x<-seq(1,10,by=0.1)y=x^3+2*x^2+x+1plot(x,y,"l",col="red")2468100200400600800100x y2、将窗口分割成2×1的窗格,在第一个、第二个窗口中分别绘制出正弦、余弦函数的图像,并画出x 轴。

x<-seq(0,2*pi,by=pi/20)y1<-sin(x)y2<-cos(x)par(mfrow=c(2,1))plot(x,y1,"l",xlim=c(0,7),ylim=c(-2,2))lines(c(0,3*pi),c(0,0))plot(x,y2,"l",xlim=c(0,7),ylim=c(-2,2))lines(c(0,3*pi),c(0,0))01234567-202x y101234567-202x y23、在同一张图上画出函数2122,y x y x ==的曲线并利用legend 函数对曲线加标注“2122,y x y x == ”,并加上标题 “ 22x x 和的曲线”。

x<-seq(0,10,by=0.5)y1=2*xy2=x^2plot(x,y1,"o",main="2*x 和x^2 的曲线",pch=8)lines(x,y2,"o",pch=24,col="red")legend("topright",legend=c("2*x","x^2"),col=c("black","red"),pch=c(8,24),lty=1)024681051015202*x 和x^2 的曲线x y 12*xx^24、将屏幕分割为四块,并分别画出y=sin(x);z=cos(x);a=sin(x)*cos(x);b=sin(x)/cos(x)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面是用R语言绘制三维散点图的方法,并举出两个示例。

1)安装
在R语言提供的console里面输入如下命令安装scatterplot3d:
source("")
biocLite("scatterplot3d")
2)调用
通过如下的命令加载scatterplot3d库
library("scatterplot3d")
3)示例
示例1:编写R脚本,文件名为,中添加如下脚本
# example 1
library("scatterplot3d")
z <- seq(-10, 10,
x <- cos(z)
y <- sin(z)
scatterplot3d(x, y, z, =TRUE, ="blue",
="lightblue", main="scatterplot3d - 1", pch=20)
在R的console运行如下命令,其中"D:\\R\\"为脚本文件的绝对目录:
source("D:\\R\\")
效果图:
示例2:编写R脚本,文件名为,中添加如下脚本
# Example 2:
library("scatterplot3d")
= matrix(runif(25), nrow = 5)
dimnames = list(LETTERS[1:5], letters[11:15])
= (columns = c(col),rows = c(row), value = c)
scatterplot3d, type = "h", lwd = 5, pch = " ", = colnames,
= rownames,color = grey(25:1 / 40), main = "3D barplot")
在R的console运行如下命令,其中"D:\\R\\"为脚本文件的绝对目录:
source("D:\\R\\")
效果图:
附:R语言的比较好学习资料:掌握点R语言
内容来自。

相关文档
最新文档