R语言-绘制双坐标图直方图与折线的结合方式

看代码吧~

par(mar = c(5, 5, 3, 4)+0.1) #似乎是设置图片位置
bar<-barplot(gu[1:22,6],xlim=c(0.5,26),ylim=c(0,200000),ylab="交易量",
col="blue",col.axis="blue",col.lab="blue")

mtext(c(1:22),side=1,line=1,at=bar,cex=0.8,col="black")
mtext("time",side =1,line=3,col="black")
par(new=T)
plot(bar,gu[1:22,2],axes=F,xlim=c(0.5,26),ylim=c(17,23),xlab="",ylab="",
col="green",type="o")

#ylim设置不好的话就会看不见折线

axis(4,col="red",col.ticks="red",col.axis="red")
mtext("价格",side=4,line=3,col="red")
par(new=T)
plot(bar,gu[1:22,5],axes=F,xlim=c(0.5,26),ylim=c(17,23),xlab="",ylab="",
col="red",type="o")
legend("top",c('开盘价','收盘价'),col=3:2,lty=1)

效果如下

补充:在R中绘制折线图的方法与进阶

在显示随时间而变化的连续数据时通常可以使用折线图。尤其是显示在相等时间间隔下数据的趋势时折线图则更加优势。在折线图中,类别数据沿水平轴均匀分布,所有值数据沿垂直轴均匀分布。一般分类标签是文本并且代表均匀分布且递增的数值(例如月度、季度或财年等)。

事实上,在Excel中绘制折线图是相当方便的。但我们现在要来讨论的是在R中如何绘制折线图,尤其是一些不常见但非常有用的技巧我们也会在本文中讨论。

我们首先来讨论最简单的情况,绘制一条折线:

> dose = c(20, 30, 40, 50, 60)
> drugA= c(16, 20, 27, 40, 60)
> drugB= c(15, 18, 25, 31, 40)
> plot(dose, drugA, type = "b")

其中 type = "b" 表示同时画出点和线。上述代码执行结果如下:

当使用 type = "c" 时没有点而只画出线。如果想把上图中的圆圈换成实心三角形,并想用虚线代替实现来连接各个数据点的话,则可以像下面这个做:

上述代码执行结果如下:

现在我们把这幅图画得复杂一些!我们来画出次刻度线,为此请加载Hmisc包用,以便添加次要刻度线:

> library(Hmisc)

然后执行下面的代码:

> plot(dose,drugB,type="b",pch=3,lty=3,col="blue",ylim=c(0,max(drugB)*1.1),
+ xlab="x",ylab="y",main="Example")
> minor.tick(nx=5,ny=2,tick.ratio=0.5)#添加次要刻度线

其中nx和ny分别表示x轴和y轴上每个主刻度之间被划分的子间隔数,上述代码的执行结果如下

下面我们要做的事情会更加复杂,我们要实现在同一界面上绘制三张图,并在最后一张图中绘制多条折线以及添加图例。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 基于R语言for循环的替换方案

    R语言中,for循环运行比较慢 for(i in 1:1000){ print(i^2) } 补充:R语言:for循环使用小结 基本结构展示: vals =c(5,6,7) for(v in vals){ print(v) } #即把大括号里的内容对vals里的每一个值都循环run一遍 实例展示: 1. paste() 命令是把几个字符连接起来 如paste("A","B","C",sep=" ")得到的就是"A B

  • R语言-在一张图上显示多条线的实现

    查询百度之后,发现在R上一次显示多张图的函数很多,比如layout()或者分屏函数,但是这些都不是我想要的结果. 之后,发现了line()函数可以保留原来图片继续作图,在括号中填入所需画图的部分即可(我是将一个矩阵作图). 先运行plot()函数,再注释掉plot()函数运行line()函数即可. 效果如下: 补充:R语言:在同一张图作不同曲线 R语言将两条曲线作在同一张图的方法是 library(ggplot2) year<-c(1993,1998,2003,2008) Res<-c(0.0

  • R语言-如何给直方图加标签

    看代码吧~ hist(data$MEDV,col="grey")#可以看到目标数据的总体分布 legend(35,170,c("min:5","median:21.2","mean:22.51","max:50"),fill=c("lightblue","wheat")) 补充:R语言作图--histogram(直方图) 最近小仙同学很是烦恼,本以为自己已经掌握了gg

  • R语言 实现选取某一行的最大值

    可以先自定义函数 也可以用的时候再定义. > mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3) > mat [,1] [,2] [,3] [1,] 1 2 3 [2,] 7 8 9 [3,] 4 5 6 > apply(mat, 2, function(x){order(x, decreasing=T)[1]}) # 查找每一列 [1] 2 2 2 > apply(mat, 1, function(x){order(x, dec

  • R语言-如何实现卡方检验

    卡方检验 在数据统计中,卡方检验是一种很重要的方法. 通常卡方检验的应用主要为: 1. 卡方拟合优度检验 2.卡方独立性检验 本文主要通过使用自己编程的方法实现相关检验. 卡方拟合优度检验 理论: 1.我们先做出0假设:H0:总体服从假定的理论分布 2.我们再构造一个统计量: 3.当n充分大时 4.我们得到该拒绝域 代码 #Chi_square Goodness Of Fit Test #函数说明: #n为所得样本数据:p为理论概率 #alpha为置信水平,df为自由度 cgoft <- fun

  • R语言wilcoxon秩和检验及wilcoxon符号秩检验的操作

    说明 wilcoxon秩和及wilcoxon符号秩检验是对原假设的非参数检验,在不需要假设两个样本空间都为正态分布的情况下,测试它们的分布是否完全相同. 操作 #利用mtcars数据 library(stats) data("mtcars") boxplot(mtcars$mpg~mtcars$am,ylab='mpg',names = c('automatic','manual)) #执行wilcoxon秩和检验验证自动档手动档数据分布是否一致 wilcox.test(mpg~am,

  • R语言—自定义函数求置信区间的操作

    看代码吧~ #求单正态均值mu的置信区间 #参数依次为置信水平alpha,正态样本x,已知总体方差(默认为未知) mu <- function(alpha,x,sigma=NA){ n <- length(x) meanx <- mean(x) if(is.na(sigma)){ t1 <- qt(1-alpha/2,n-1) t2 <- qt(1-alpha,n-1) mu11 <- meanx - t1*sqrt(sum((x-meanx)^2)/(n-1))/sq

  • R语言-绘制双坐标图直方图与折线的结合方式

    看代码吧~ par(mar = c(5, 5, 3, 4)+0.1) #似乎是设置图片位置 bar<-barplot(gu[1:22,6],xlim=c(0.5,26),ylim=c(0,200000),ylab="交易量", col="blue",col.axis="blue",col.lab="blue") mtext(c(1:22),side=1,line=1,at=bar,cex=0.8,col="bl

  • R语言绘制直方图实例讲解

    直方图表示被存储到范围中的变量的值的频率. 直方图类似于条形图,但不同之处在于将值分组为连续范围. 直方图中的每个柱表示该范围中存在的值的数量的高度. R语言使用hist()函数创建直方图. 此函数使用向量作为输入,并使用一些更多的参数来绘制直方图. 语法 使用R语言创建直方图的基本语法是 hist(v,main,xlab,xlim,ylim,breaks,col,border) 以下是所使用的参数的描述 v是包含直方图中使用的数值的向量. main表示图表的标题. col用于设置条的颜色. b

  • 使用R语言绘制散点图结合边际分布图教程

    目录 1. 使用ggExtra结合ggplot2 1)传统散点图 2)密度函数 3)直方图 4)箱线图(宽窄的显示会有些问题) 5)小提琴图(会有重叠,不建议使用) 6)密度函数与直方图同时展现 2. 使用cowplot与ggpubr 1)重绘另一种散点图 2)有缝拼接 3)无缝拼接 参考 主要使用ggExtra结合ggplot2两个R包进行绘制.(胜在简洁方便)使用cowplot与ggpubr进行绘制.(胜在灵活且美观) 下面的绘图我们均以iris数据集为例. 1. 使用ggExtra结合gg

  • 如何用R语言绘制饼图和条形图

    R 语言提供来大量的库来实现绘图功能. 饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量.频率或百分比之间的相对关系. R 语言使用 pie() 函数来实现饼图,语法格式如下: pie(x, labels = names(x), edges = 200, radius = 0.8, clockwise = FALSE, init.angle = if(clockwise) 90 else 0, density = NULL, angle = 45, col = NULL, bor

  • 如何用R语言绘制散点图

    散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标. 散点图可以使用 plot() 函数来绘制,语法格式如下: plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes) x 横坐标 x 轴的数据集合 y 纵坐标 y 轴的数据集合 type:绘图的类型,p 为点.l 为直线, o 同时绘制点和线,且线穿过点. main 图表标题. xlab.

  • 用R语言绘制函数曲线图

    函数曲线图是研究函数的重要工具. R 中 curve() 函数可以绘制函数的图像,代码格式如下: curve(expr, from = NULL, to = NULL, n = 101, add = FALSE, type = "l", xname = "x", xlab = xname, ylab = NULL, log = NULL, xlim = NULL, -) # S3 函数的方法 plot(x, y = 0, to = 1, from = y, xlim

  • R语言绘制空间热力图实例讲解

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始首先安装相关包 install_packages("devtools") install_packages("REmap") library(devtools) library(REmap) 我们来试试其强大的城市坐标获取功能 city<- c("beijing","上海") get_geo_

  • R语言绘制地图实例讲解

    setwd("C:/Users/75377/Desktop/SHEEP_ROH") png("12.png",width = 7000,height = 5500,pointsize = 170) par(mai = c(12,12,12,12),mgp = c(2.1,0.5,0)) #地图数据下载http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip librar

  • R语言绘制散点图实例分析

    散点图显示在笛卡尔平面中绘制的许多点. 每个点表示两个变量的值. 在水平轴上选择一个变量,在垂直轴上选择另一个变量. 使用plot()函数创建简单散点图. 语法 在R语言中创建散点图的基本语法是 - plot(x, y, main, xlab, ylab, xlim, ylim, axes) 以下是所使用的参数的描述 - x是其值为水平坐标的数据集. y是其值是垂直坐标的数据集. main要是图形的图块. xlab是水平轴上的标签. ylab是垂直轴上的标签. xlim是用于绘图的x的值的极限.

  • R语言绘制折线图实例分析

    折线图是通过在它们之间绘制线段来连接一系列点的图. 这些点在它们的坐标(通常是x坐标)值之一中排序. 折线图通常用于识别数据中的趋势. R语言中的plot()函数用于创建折线图. 语法 在R语言中创建折线图的基本语法是 - plot(v,type,col,xlab,ylab) 以下是所使用的参数的描述 - v是包含数值的向量. 类型采用值"p"仅绘制点,"l"仅绘制线和"o"绘制点和线. xlab是x轴的标签. ylab是y轴的标签. main是

随机推荐