zoukankan      html  css  js  c++  java
  • R语言画图

    R语言画图

    一、画图的简单命令

    R绘图 gemo(graphics)
    demo(persp)
    x11() windows()打开绘图窗口
    ?device 查看绘图列表
    dev.list() 显示打开装置的列表
    > dev.set() 改变当前装置
    dev.off() 关闭画图装置
    > split.screen(c(1, 2)) 分割当前绘图装置
    earse.screen()删除最后绘制的图形
    layout() 把当前窗口分割为多个部分,图形连续的显示
    layout.show() 查看分割后的
    byrow=TRUE 此时编号横排

    二、绘图常用函数

    常用参数

    三、低命令绘图参数

    参数值

    四、实例

    > x<-rnorm(10)
    > y<-rnorm(10)
    > x
    [1] 1.00836267 0.79137623 2.03211090 0.10294401 0.07619495 1.91956132 0.13484228 0.38414578 0.62028349 0.29640332
    > y
    [1] 0.2357669 1.1469255 -0.9895425 -1.7805297 0.4643383 0.3902600 -0.3774699 0.3367386 1.1519940 -0.3744504
    > plot(x,y)

    加入选项,修改风格
    > plot(x, y, xlab="Ten random values", ylab="Ten other values",
    + xlim=c(-2, 2), ylim=c(-2, 2), pch=22, col="red",
    + bg="yellow", bty="l", tcl=0.4,
    + main="How to customize a plot with R", las=1, cex=1.5)

    // bty="l", tcl=0.4,表示给出修改的意义;

    bty控制图形边框形状,可用的值为: "o", "l", "7", "c", "u" 和"]" (边框和字符 的外表相像);这些字符本身的形状对应着边框样式,比如(默认值)o表示四条边都显示,而c表示不显示右侧边如果bty="n"则不绘制边框;

    tcl 坐标轴刻度线的高度;取一个与文本行高的比例值;正负值意义类似tck,默认值为-0.5,即向外画线,高度为半行文本高;观察图3.1左下角小图的坐标轴刻度线

    cex控制缺省状态下符号和文字大小的值,用于表示对默认的绘图文本和符号放大多少倍。需要注意一些绘图函数如plot.default等也有一个相同名字的参数,但是此时表示在函数par()的参数cex的基础上再放大多少倍,此外还有函数points等接受一个数值向量为参数。默认值为1,如果设为1.5,则表示比默认大小大50%,若设为0.5,则表示比默认值小50%。

    cex.axis 坐标轴刻度标记的缩放倍数

    cex.lab 坐标轴标题的缩放倍数

    cex.main 图主标题的缩放倍数

    cex.sub 图副标题的缩放倍数

    col 图中符号(点、线等)的颜色,与cex参数类似,具体的细节颜色也可以通过如下参数设置:

    col.axis 坐标轴刻度标记的颜色

    col.lab 坐标轴标题的颜色

    col.main 图主标题的颜色

    col.sub 图副标题的颜色

    cin,这是一个只读参数,不能进行修改。以形式(width,height)返回字体大小,单位为英寸。这和参数cra的作用一样,只是测量单位不同。

    col,用于设定默认的绘图颜色

    col.axis。

    坐标轴刻度值的颜色,默认为"black"。

    par()函数修改参数命令

    opar <- par()
    par(bg="lightyellow", col.axis="blue", mar=c(4, 4, 2.5, 0.25))
    plot(a, b, xlab="Ten random values", ylab="Ten othervalues",xlim=c(-2, 2), ylim=c(-2, 2),
    pch=22, col="red", bg="yellow",bty="l", tcl=-.25, las=1, cex=1.5)
    title("How to customize a plot with R (bis)", font.main=3, adj=1)

    mar:修改绘图区边界;

    低水平命令绘图

    opar <- par()
    par(bg="lightgray", mar=c(2.5, 1.5, 2.5, 0.25))
    plot(a, b, type="n", xlab="", ylab="", xlim=c(-2, 2),//type="n",不画出点
    ylim=c(-2, 2), xaxt="n", yaxt="n")//xaxt="n", yaxt="n",不画坐标轴
    rect(-3, -3, 3, 3, col="cornsilk")//改变作图区
    points(x, y, pch=10, col="red",cex=2) //添加点
    axis(side=1, c(-2, 0, 2), tcl=-0.2, labels=FALSE)//x轴
    axis(side=2, -1:1, tcl=-0.2, labels=FALSE) //y轴
    title("How to customize a plot with R (ter)",font.main=4, adj=1, cex.main=1)
    mtext("Ten random values", side=1, line=1, at=1, cex=0.9, font=3)
    mtext("Ten other values", line=0.5, at=-1.8, cex=0.9, font=3)
    mtext(c(-2, 0, 2), side=1, las=1, at=c(-2, 0, 2), line=0.3,
    col="blue", cex=0.9)
    mtext(-1:1, side=2, las=1, at=-1:1, line=0.2, col="blue", cex=0.9)
    par(opar)

    五、利用grid和 lattice 包作图

    加载包

    library(lattice)

    添加变量

    n <- seq(5, 45, 5)
    x <- rnorm(sum(n))
    y <- factor(rep(n, n))

    做密度图

    densityplot (~ x | y)

    densityplot(~ x | y, panel = function(x, ...) {
    panel.densityplot(x, col="DarkOliveGreen", ...)
    panel.mathdensity(dmath=dnorm,args=list(mean=mean(x), sd=sd(x)),
    col="darkblue")
    })

    本性的苏醒,往往在遭遇真实之后。
  • 相关阅读:
    Linux下JDK的安装
    Docker 搭建 Maven 私服
    K8s 部署 PostgreSQL
    CentOS7 使用 kubeadm 部署 K8s(单机/集群)
    CentOS7 升级 Vim
    Go 函数详解
    CentOS7 安装 golang
    Redis 集群伸缩原理
    CentOS7 安装 Redis
    CentOS7 搭建 Redis 集群
  • 原文地址:https://www.cnblogs.com/chance88/p/4908394.html
Copyright © 2011-2022 走看看