R基础绘图、时间序列生成

时间:2019-06-16
本文章向大家介绍R基础绘图、时间序列生成,主要包括R基础绘图、时间序列生成使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

###5.绘图工具####
#5.1 基本绘图函数plot()####
View(cars)
help(cars)     #行驶速度与刹车距离

head(cars)

plot(cars)

plot(cars$dist~cars$speed)   #指定y轴表示刹车距离

plot(cars$speed~cars$dist)   #指定x轴表示刹车距离

#5.2 为了方便将两幅图画在一起进行对比 ####


windows()                    #用单独的窗口显示图形以获得更好的显示效果,注意windows命令在前

par(mfrow=c(2,2))            #c(2,2)表示生成一个2*2的矩阵

plot(cars$dist~cars$speed)  

plot(cars$speed~cars$dist) 

#5.3 函数的参数####(注意代码的美观)

plot(cars$dist~cars$speed, # y~x
     main="刹车距离与车速之间的关系",      # 画标题
     xlab="Speed (miles per hour)",        #X坐标轴标题
     ylab="Distance travelled (miles)",    #Y坐标轴标题
     xlim=c(0,30),                         #设置X轴范围为从0到30
     ylim=c(0,140),                        #设置Y轴范围为从0到140
     xaxs="i",                             #设置X轴风格internal
     yaxs="i",                             #设置Y轴风格internal
     col="red",                            #设置“散点”的颜色为红色
     pch=19)                               #设置散点的形状为实心圆点

#5.4绘制线图####
#使用微信公众号用户数据
setwd("~")

num<-read.csv(file = "wechat.csv")
head(num)

windows()
plot(num$NetGrowth~as.Date(num$date),
     type="l",
     mian="每日净增长变化",
     xlab="日期",
     ylab ="净增长人数",col="red" )

#5.5 低水平绘图函数lines()####
lines(num$NetGrowth~as.Date(num$date),col="red")

example("lines")

plot(cars, main = "Stopping Distance versus Speed")

lines(stats::lowess(cars))   #此段代码为散点图加上光滑的曲线


#5.6 柱形图####
#使用数据集BOD
View(BOD)

#使用基础绘图包
barplot(BOD$demand,names.arg = BOD$Time)
#先输出频数表,然后在用条形图绘制
table(mtcars$cyl)
barplot(table(mtcars$cyl))

#改变图形的方向
windows()
par(mfrow=c(1,2))
barplot(BOD$demand,names.arg = BOD$Time)
barplot(BOD$demand,names.arg = BOD$Time,horiz = TRUE)


###5.7.绘制直方图####
windows()
par(mfrow=c(1,2))
hist(mtcars$mpg)

hist(mtcars$mpg,breaks=10)   #控制分区数目

###5.8绘制箱线图####
#使用数据集ToothGrowth
View(ToothGrowth)
#使用plot函数时,当x轴为分类变量,y轴为数值型变量时,默认输出箱线图
plot(ToothGrowth$supp,ToothGrowth$len)

###5.9 绘图设备(输出图形的格式)####

?device    #查看可以使用的图形设备

setwd("~")
pdf("boxplot.pdf")          #在图形设备中输出图形名称
plot(ToothGrowth$supp,ToothGrowth$len)
dev.off()                   #关闭当前图形设备,相当于保存该图形

png("boxplot.png")
plot(ToothGrowth$supp,ToothGrowth$len)
dev.off()

pdf("综合图.pdf")   #在你希望将所有图形输出到一个文件中时,这样做,不支持PNG格式
hist(mtcars$mpg)
hist(mtcars$mpg,breaks=10) 
plot(ToothGrowth$supp,ToothGrowth$len)

dev.off()

#图形设备设置

dev.cur()  #查看当前正在使用的图形设备

dev.set(3) #把当前正在使用的图形设别设置为其它设备

#5.10 其他常用图形####
example("pie")    #查看饼图的使用方法和示例

example("plot.ts")#时间序列图示例

#5.11 绘图参数####

setwd("~")
wec<-read.csv(file = "wechat.csv",header = TRUE)

head(wec)
windows()
plot.ts(wec$NetGrowth,col="red")
points(wec$NetGrowth,bg="skyblue",color="red",pch=21)
abline(h=mean(wec$NetGrowth),col="blue")
title("公众号日净增关注人数变化")
box()

#5.12 生成时间序列的函数####

ts(1:10, frequency = 4, start = c(1958, 1)) #生成时间序列,季度,起始

print( ts(1:10, frequency = 7, start = c(12, 2)), calendar = TRUE)
#星期 日历
gnp <- ts(cumsum(1 + round(rnorm(100), 2)),
          start = c(1954, 7), frequency = 12)

z <- ts(matrix(rnorm(300), 100, 3),
        start = c(1961, 1), frequency = 12)

class(z);head(z);plot(z)

原文地址:https://www.cnblogs.com/super-yb/p/11033173.html