• 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)
    Valar morghulis
  • 相关阅读:
    是否是轮回(续)
    夜雨做成秋
    53分
    浮生六记 一成长星和月
    企业信息化常见缩略语汇总
    是否是轮回
    对信号集操作函数的使用方法和顺序
    fcntl.h
    关于linux信号量的基本使用
    linux 共享内存
  • 原文地址:https://www.cnblogs.com/super-yb/p/11033173.html
Copyright © 2020-2023  润新知