<i id="b3tp5"></i>
      <noframes id="b3tp5"><address id="b3tp5"><nobr id="b3tp5"></nobr></address>
      <noframes id="b3tp5"><address id="b3tp5"><nobr id="b3tp5"></nobr></address>

      <noframes id="b3tp5">

          <noframes id="b3tp5"><address id="b3tp5"><address id="b3tp5"><listing id="b3tp5"></listing></address></address>
            <address id="b3tp5"></address>

            2019-10-22瀏覽量:2789

            R語言學習ggplot2之顏色設置,你學會了嗎?

            ggplot2是由Hadley Wickham創建的一個十分強大的可視化R包。在使用R作圖時,如何使用ggplot2來調整圖像中的顏色呢?下面跟著我們一起學習ggplot2的顏色修改函數,制作出更加絢麗多彩的圖片。

             

            1、簡單顏色分配

            在ggplot2中,對于線和點的顏色調整可以直接改變colour參數,如設置colour=“red”等。而對于一些作為對象填充的顏色,如直方圖中條形的顏色,則可以通過改變fill參數來控制,如fill=“red”。

            #構建數據

            df <- read.table(header=TRUE, data='type number

                             A 3

                             B 4.5

                             C 2.8')  

            # 默認:深色條形

            ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity")

            # 紅色外框線的條形

            ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity", colour="#FF9999")

            # 紅色填充,黑色外框

            ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity", fill="#FF9999", colour="black")

             

            2、將變量值映射為顏色

            除了對顏色進行全局性的修改,也可以將變量值映射為顏色,就是用顏色來表示某個變量,需要將它置于aes() 命令之中。同時在對圖形屬性進行映射之后,使用標尺控制這些屬性的顯示方式,其顯示規律如下

             

            ggplot2的scale系列函數一般使用三個單詞用_連接,如scale_fill_gradient和 scale_color_continuous。

            第一個都是scale。

            第二個是colorfill等可更改的顏色參數,對應分組使用的顏色函數即可。比如柱狀圖,fill是柱子的填充顏色,這時就使用scale_fill系列函數來更改顏色。點圖使用color分組,則使用scale_color_系列函數來更改顏色。

            第三個單詞的不同,可分為以下兩種情況:

            1)離散型:在顏色變量是離散變量的時候使用,比如分類時每一類對應一種顏色。

            manual 直接指定分組使用的顏色

            hue 通過改變色相(hue)飽和度(chroma)亮度(luminosity)來調整顏色

            brewer 使用ColorBrewer的顏色

            grey 使用不同程度的灰色

             

            library(ggplot2)  ##載入ggplot2包

            data(diamonds)  ##測試數據

            diamond <- diamonds[sample(nrow(diamonds), 1000), ]  ##選取數據的前1000行

            p <- ggplot(diamond, aes(cut, price, fill = cut)) + geom_boxplot()  ## 使用默認配色方案 scale_fill_hue()

             

            #直接指定顏色

            p + scale_fill_manual(values=c("red", "blue", "green", "yellow","orange"))

            #或者直接指定對應分組顏色

            p + scale_fill_manual(values=c("Fair" = "red", "Good" = "blue", "Very Good" = "green" , Premium = "orange", Ideal = "yellow"))

            ##效果如下,此時分組顏色對應我們設置的一樣

             

            brewer 使用ColorBrewer的顏色

            ##調用包ColorBrewer 中的配色方案,要想了解所有的調色板,可以使用RColorBrewer::display.brewer.all()查看。以下是調色板:

             

            p + scale_fill_brewer(palette = "Set1")

            ##效果如下,選擇Set1的配色方案

             

            grey 使用不同程度的灰色

            #通過start end 兩個參數指定,0為黑,1為白,都在0-1范圍內

            p + scale_fill_grey()  #左圖

            #設定灰度范圍

            p + scale_fill_grey(start=1, end=0)  # 右圖

             

            2)連續型:顏色變量是連續變量的時候使用,比如0-100的數,數值越大顏色越深。

            gradient 創建漸變色

            distiller 使用ColorBrewer的顏色

            identity 使用color變量對應的顏色,對離散型和連續型都有效

             

            #構建數據集

            df <- data.frame(

            x = runif(100),

            y = runif(100),

            z1 = rnorm(100))

            p <- ggplot(df, aes(x, y)) + geom_point(aes(colour = z1))

            gradient 創建漸變色#參數設定節點顏色

            p + scale_color_gradient(low = "white", high = "black")

            #設置中間過渡色

            p + scale_color_gradient2(low = "red", mid = "white", high = "blue")

            #使用R預設調色板

            p + scale_color_gradientn(colours =rainbow(10))

             

            distiller 使用ColorBrewer的顏色

            #將ColorBrewer的顏色應用到連續變量上

            p + scale_color_distiller(palette = "Spectral")

            p + scale_color_distiller(palette = "Greens")

             

            總結:以上就是ggplot2繪圖中顏色設置的各種參數及用法,幫助我們輕松繪制出色彩斑斕的圖片。

            版權所有 上海銳翌生物科技有限公司 滬ICP備16022951號

            87彩店