• R语言与医学统计图形-【11】ggplot2几何对象之散点图


    ggplot2绘图系统——几何对象之散点图

    以geom开头的函数超过30个。几何对象和标度函数scale密不可分。只有在aes中传入某个变量,scale才能发挥作用。

    所谓标度scale,就是图形遥控器,用于控制元素属性。相对于color/shape等参数而言,可以进行更多、更精确的设置。

    颜色标度设置

    颜色梯度(gradient)标度(scale)函数。

    #双色梯度函数
    scale_color_gradient(...,high='#56B1F7',low='#132B43',...)
    scale_fill_gradient
    
    #三色梯度函数
    scale_color_gradient2(...,low=muted('red'),mid='white',high=muted('blue'),...)
    scale_fill_gradient2
    
    #自定义n色梯度函数,接受颜色向量
    scale_color_gradientn(...,colors,...)
    scale_color_gradientn
    
    #手动设置颜色标度函数(对已有设置颜色不满意时)
    scale_color_mauual(..,values)
    scale_fill_mauual
    

    示例。

    df <- data.frame(x=runif(100),y=runif(100),
                     z1=rnorm(100),z2=abs(rnorm(100)))
    
    #color后接连续型变量也可做到颜色梯度展示,但只是映射,没那么精细。
    ggplot(df,aes(x,y))+geom_point(aes(color=z2))
    
    ggplot(df,aes(x,y)) +geom_point(aes(color=z1))+
      scale_color_gradient2() #默认的三色梯度
    

    image.png

    ggplot(df,aes(x,y)) +geom_point(aes(color=z1))+
      scale_color_gradient(low='green',high = 'blue') 
    
    ggplot(df,aes(x,y)) +geom_point(aes(color=z1))+
      scale_color_gradientn(colors = RColorBrewer::brewer.pal(5,'Set3')) 
    

    image.png

    ggplot(mtcars,aes(mpg,wt))+geom_point(aes(color=factor(cyl)))+
      scale_color_manual(values = c("red","blue","green"))
    #注意传入的颜色向量长度必须和颜色映射变量因子水平一致
    

    image.png

    点的形状标度

    标度函数中形状函数。

    scale_shape(...,solid=TRUE) 
    #默认实心点
    
    #自定义点型
    scale_shape_manual(...,values)
    

    示例。

    ggplot(dsmall,aes(carat,price))+geom_point(aes(shape=cut))+
      scale_shape_manual(name='diamonds',values = c(1:5))
    #注意此处1:5和基础绘图包中的点形状代号是一样的
    

    image.png

    点的大小标度

    点的大小标度函数有:

    scale_radus(name,breaks,labels,limits,range,trans,guide)
    
    scale_size(name,breaks,labels,limits,range,trans,guide)
    
    scale_size_area(...,max_size)
    
    scale_size_manual
    

    示例。

    ggplot(mpg,aes(displ,hwy,size=hwy))+
      geom_point()+
      scale_size(name = 'hwy size',breaks = c(12,24,44),
                 labels = c('low','middle','high'))
    
    
    ggplot(mpg,aes(displ,hwy,size=hwy))+
      geom_point()+
      scale_radius() #将hwy大小传至圆点半径
    

    image.png

    df <- data.frame(x=c(0:10),y=c(20:30))
    ggplot(df,aes(x=x,y=y,size=x))+
      geom_point()+
      scale_size_area()
    

    image.png

  • 相关阅读:
    互联网时代,80后新时代的管理者
    使用YUI Compressor压缩CSS/JS
    使用最优方法来加速运行你的网站
    随笔 微笑
    首款LGA775平台离子迷你主板登场
    CSS调试技巧五则,兼谈“提问的艺术”
    SharpDevelop 编辑器
    穿越防火墙 让远程桌面自由连接
    开源的搜索引擎工具包和Web搜索引擎系统
    Javascript工具 使用JS Minifier过滤JS文件
  • 原文地址:https://www.cnblogs.com/jessepeng/p/12307716.html
Copyright © 2020-2023  润新知