zoukankan      html  css  js  c++  java
  • 【R作图】颜色的选取

    R中作图是通过指定作图函数参数col项来完成的,例如: 
    par(bg = "cornsilk")##给定作图背景颜色 
    x=rnorm(1000) 
    y=cumsum(x) 
    plot(y,type="l",col="red",xlab="x series")

    col可以赋向量 

    方法一: 

    直接用color的名称,如:“red”,“green”,“black”。。。

    R中有657种颜色可以选择,可以通过函数colors() 查看和使用。

    cl=colors()
    x=runif(10000,-250,250) 

    hist(x,breaks=seq(-250,250,5),col=cl[1:100]) 

    方法二: 用rainbow(),heat.colors(),terrain.colors(),topo.colors(),cm.colors()等函数

     

     

     

     

     

    方法三:用函数设置颜色模型中的参数

    (1)hcl()函数 

    > args(hcl)  

    function (h = 0, c = 35, l = 85, alpha, fixup = TRUE) 

    其中h指定颜色,为0~360间的整数,0为红色,120为绿色,240为蓝色;c指定浓度;l指定亮度;alpha指定透明度。 
     

    例子:

    >x=runif(10000,-250,250)  

    >hist(x,breaks=seq(-250,250,5),col=hcl(1:100)) 

    (2)hsv()函数

    > args(hsv)  

    function (h = 1, s = 1, v = 1, gamma = 1, alpha)  

    色调(H),饱和度(S),亮度(V)。 

    例子:

    >x=runif(10000,-250,250)  

    >hist(x,breaks=seq(-250,250,5),col=hsv(seq(0,1,0.01))) #用seq序列,默认饱和度和亮度是1

    (3)灰度函数grey()  或者gray()

    > args(grey) 
    function (level) 
    其中:level指定灰度,为0~1间的数,0为黑,1为白。例如: 
    > hist(x,breaks=seq(-250,250,5),col=grey(seq(0,1,0.01))) 

    (4)rgb()函数 

    该函数按三元色,红,绿,蓝原理指定颜色,rgb(r=1,g=0,b=0)为红色,
    rgb(r=0,g=1,b=0)为绿色,rgb(r=0,g=0,b=1)为蓝色。 
    > args(rgb) 
    function (red, green, blue, alpha, names = NULL, maxColorValue = 1) 

    maxColorValue(max)设置为255时,rgb可以从1~255变化。与配色表查询值一致。

    > hist(x,breaks=seq(-250,250,5),col=rgb(r=1,g=0,b=0)) 

    方法四:一些颜色渐变的方法

    (1)colorRamp {grDevices} #grDevices包中的colorRamp函数

    例子1:

    ramp <- colorRamp(c("red", "white"))  

    rgb( ramp(seq(0, 1, length = 5)), max = 255)

    例子2:

    rgb.palette <- colorRampPalette(c(rgb(35,179,225,max=255),rgb(35,24,21,max=255),rgb(247,236,0,max=255)),space = "rgb") #黄黑蓝

    #rgb.palette <- colorRampPalette(c(rgb(230,247,255,max=255),rgb(35,179,225,max=255)),space = "rgb") #蓝色渐变

    rgb.palette(10)

    附上一些和颜色相关的函数:

    > rgb2hsv(255,255,255)#rgb转hsv
      [,1]
    h    0
    s    0
    v    1
    > .Internal(rgb256(0, 255, 0,255,NULL))#看rgb对应的十六进制值
    [1] "#00FF00FF"
     

    附上RGB配色表,可以寻找一些好看的颜色: 

     

    RGB 配色表

    http://www.cnblogs.com/xianghang123/archive/2012/06/13/2547604.html 

    【更新】 

    在线调色板~~调色更方便 

    http://www.361dh.com/cx/yanse.htm 

  • 相关阅读:
    1
    最大子串
    线段树
    mybatis分页插件
    springmvc下载文件
    获“领跑衫”感言
    finnal 评论 II
    用户使用报告
    事后诸葛亮会议 (尸体解剖)
    final阶段成员贡献分
  • 原文地址:https://www.cnblogs.com/xianghang123/p/2547992.html
Copyright © 2011-2022 走看看