R教材2&19&23 图形初阶&ggplot2&lattice&ggiraph&plotly

本文详细介绍了R语言中图形参数的设置方法,包括基础图形参数调整、颜色与线条控制、文本与数学标注、图形组合与区域划分,以及如何利用ggplot2、lattice和ggiraph库进行高级图形定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 设置基础图形参数
    1. par()设置图形特征,直到会话结束
      1. opar<-par(no.readonly=T)……par(opar),将默认图形属性保存,在修改图形属性的作图后,恢复默认值
      2. par(mfrow=c(1,1))设置画板分隔成1*1的等大区域
    2. 符号和线条
      1. pch=1|2|3|......点的符号(形状)

 

      1. cex点的形状的大小,默认为1
      2. lty线条类型,1到6
      3. lwd线条宽度,默认为1
    • 颜色
      1. col默认绘图颜色,col="white"
        1. rainbow()创建连续性颜色向量
      2. col.~
        1. axis坐标轴刻度文字
        2. lab坐标轴标签
        3. main标题
        4. sub副标题
      3. fg图形前景色、bg图形背景色
    • 文本属性
      1. cex相对默认大小缩放倍数
      2. cex.~
        1. axis坐标轴刻度文字
        2. lab坐标轴标签
        3. main标题
        4. sub副标题
      3. font字体样式,1为常规,2为粗体,3为斜体
      4. font.~
        1. axis坐标轴刻度文字
        2. lab坐标轴标签
        3. main标题
        4. sub副标题
      5. ps字体磅值,文本的最终大小为ps*cex
      6. family字体族,serif衬线、sans无衬线、mono等宽
    • 图形尺寸和边界尺寸
      1. pin图形尺寸,pin(宽,高)
      2. mai、mar数值向量表示的边界大小,下左上右,单位为英寸和英分,默认值为c(5,4,4,2)+0.1
    • 添加文本、自定义坐标轴和图例
      1. 标题title(main,sub,xlab,ylab)
      2. 坐标轴axis()
        1. side坐标轴位置,整数1234代表下左上右
        2. at数值型向量,绘制刻度线的位置
        3. labels字符型向量,刻度线旁的文字标签
        4. pos与另一坐标轴相交位置的值
        5. lty线条类型,1到6
        6. col线条和刻度的颜色
        7. las=0平行于坐标轴,las=2垂直于坐标轴
        8. tck刻度线长度,默认为-0.01,=0禁用刻度,=1绘制网格线
        9. xlim、ylim坐标轴范围
      3. abline()参考线,h水平线、v垂直线
      4. 图例legend(location,title,legend,...)
        1. location图例位置
          1. bottom,top,topright等方位关键字
          2. inset=0.05,图例向图形内侧移动的大小,数值为百分数值
        2. title=""图例标题
        3. legend=c()图例的标识的对象,不能省略
      5. 文本标注text(location,text,pos,side)
        1. location文本的位置参数,一般为作好的散点图的位置,如text(x,y)
        2. pos文本相对于位置参数的方位,下左上右;offset偏移量,以相对于单个字符宽度的比例表示
        3. side指定放置文本的边,值的增加文本将外移
      6. mtext(text,side,line)图形四个边界添加文本
    • 数学标注,搜下
  • 图形组合
    1. par(mfrow=c(1,1))设置画板分隔成1*1的等大区域;ggplot2不能使用
    2. layout(matrix(c(),x,y,byrow=T))指定了多个图形所在的位置;ggplot2不能使用
      1. x,y将区域划分为x*y个小区域
      2. c()表示图形所占用的位置的数值向量,有x*y个元素,如c(1,1,2,3)即第一个图形占据了1和2的位置即首行
      3. widths=c()各列宽度值的向量
      4. heights=c()各行高度值的向量
    3. par(fig,new=T)图形布局的精细控制
      1. 整个区域为原点(0,0),右上角为(1,1)
      2. fig=c(x1,x2,y1,y2),多个图形不是单纯的对面积为1的平面进行划分,需要对剩余空间的大致范围的控制
      3. new=T图形添加在现有的画布上
  1. ggplot2作图,图是函数用+串联起来的,每个函数修改属于自己的部分;
    1. ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离
    2. ggplot2是按图层作图
    3. ggplot(data,aes(x,y,shape,color))+labs(title,x,y)
      1. aes即指定坐标轴代表的变量;shape和color是在二维图像中表现三维信息,分类变量
      2. labs添加注释,包括轴标签和标题
      3. facet_grid(a~b)a,b为分类变量,为每个分类变量组合的对象进行作图,单独显示且并排将图像放在一起;区域划分
    4. 添加几何对象geom,包含点,线,条,箱线图,阴影区域
      1. geom_bar() 条形图 color, fill, alpha
      2. geom_boxplot() 箱线图 color, fill, alpha, notch, width
      3. geom_density() 密度图 color, fill, alpha, linetype
      4. geom_histogram() 直方图 color, fill, alpha, linetype, binwidth
      5. geom_hline() 水平线 color, alpha, linetype, size
      6. geom_jitter() 抖动点 color, size, alpha, shape
      7. geom_line() 线图 colorvalpha, linetype, size
      8. geom_point() 散点图 color, alpha, shape, size
      9. geom_rug() 地毯图 color, side;类似核密度图
      10. geom_smooth() 拟合曲线 method, formula, color, fill, linetype, size
      11. geom_text() 文字注解 Many; see the help for this function
      12. geom_violin() 小提琴图 color, fill, alpha, linetype
      13. geom_vline() 垂线 color, alpha, linetype, size
      14. 常见选项
        1. color点,线,填充区域的边界着色
        2. fill填充区域着色
        3. alpha颜色透明度0~1
        4. linetype图案的线条
        5. size点的尺寸和线的宽度
        6. shape点的形状
        7. position对于点来说jitter减少点的堆叠,条形图
          1. dodge分组条形图;默认
          2. stack堆叠条形图
          3. fill等高堆叠条形图
        8. binwidth直方图的宽度
        9. notch方块图是否应为缺口(中间凹陷的箱线图)
        10. sides地毯图的放置,b=底部,等
        11. width箱线图的宽度
  2. 分组aes(x,y,shape,color,fill)负责分配变量,二维图像表达多维信息
    1. *ggplot2不能使用上面的par和layout区域划分布局
    2. 一般,分配变量在aes()内,分配常量在aes()外
  3. 刻面:区域划分,分类变量的组合的数据作图,类似网格作图,在ggplot2中被称为刻面
    1. facet_wrap(~var,ncol=n/nrow=n),var为因子,每个var属性值排列成n列/行的独立图
    2. facet_grid(rowvar/.~colvar/.),var为因子,rowvar为行和colvar为列组合的独立图;或者配置成单列/单行
  4. 添加光滑曲线geom_smooth():模型可能需要光滑曲线来拟合观测数据点
    1. method平滑函数,实际使用中,模型是什么函数构建的,作图就用什么函数
      1. lm回归(线性和非线性),glm广义线性,smooth即loess拟合,rlm健壮线性,gam广义相加模型
    2. formula实际的模型公式
      1. y~x
      2. y~log(x)
      3. y~poly(x,n)n次多项式拟合
      4. y~ns(x,n)一个具有n个自由度的样条拟合
    3. se绘制置信区间,默认为T
    4. level置信区间水平,默认95%
    5. fullrange拟合覆盖全图(默认T)还是只对现有数据F
  5. 修改ggplot2的外观
    1. 坐标轴,labs()添加title,x,y标题和坐标文字
      1. scale_x_continuous()数值刻度
      2. scale_y_continuous()
      3. scale_x_discrete()因子刻度
      4. scale_y_discrete()
      5. coord_flip()颠倒x,y轴
      6. 常见选项
        1. breaks=c()指定刻度属性值
        2. labels=c()指定刻度标记标签,配合breaks使用
        3. limits=c()控制值的范围,因子刻度标明展示哪些刻度
    2. 图例
      1. 不同类型的图像有不同的图例表示,其中,ggplot(aes(fill=))即图例解释的对象,labs(fill="")修改图例标题名(根据aes的第三属性的对应效果修改图例标题名,如fill或者size)
      2. 图例的位置them(legend.position="")
        1. 属性值为left,right,top,bottom,或者none去除图例
        2. 具体位置c(,),相对于左下原点的百分比位置
    3. 标尺
      1. 连续变量ggplot(aes(size=)),图像将第三属性用size表现,出现标尺
      2. 离散变量ggplot(aes(color=)),图像将第三属性用color表现,出现标尺
        1. +scale_color_manual(values=c())设定具体颜色
        2. 对应aes()的第三属性呈现方式,+scale_color/fill_brewer(palette="Set1"),来设置颜色集
    4. 主题+theme()
      1. plot.title=element_text(face,size,color)
      2. axis.title=element_text(...)
    5. 多重图:par和layout在ggplot2中不适用,只能绘制多个独立图像到单个图中
      1. gridExtra::grid.arrange(ggplot2_1,ggplot2_2,ggplot2_3,ncol=)
    6. 保存图形ggsave(file="....png",plot=,width=,height=)
  6. 快速参考:https://www.cnblogs.com/nxld/p/6059603.html
  1. lattice高级作图:通用方法graph_function(formula,data=,options)
  2. graph_function
    1. contourplot()3D等高线图z~x*y
    2. levelplot()3D水平图z~y*x
    3. cloud()3D散点图z~x*y|A
    4. wireframe()3D线框图z~y*x
    5. barchart()条形图x~A
    6. bwplot()箱线图x~A
    7. dotplot()点图~x|A
    8. histogram()柱状图~x
    9. densityplot()核密度图~x|A*B
    10. parallelplot()平行坐标曲线图dataframe
    11. xyplot()散点图y~x|A
    12. splom()散点图矩阵dataframe
    13. stripplot()线框图A~x
  3. formula:y~x|A*B,一般是数值之间的图形关系,在不同的因子水平下的情况
  4.  
  1. ggiraph:ggplot的动态展现,加上"_interactive"后缀,可使用动态展现的函数
    1. 可用属性
      1. tooltip:一列数据,鼠标移动到元素上显示的标签
      2. onclick:一列数据,当元素被点击时,调用JavaScript函数,写法都是JavaScript的函数
      3. data_id:一列数据,元素对应的id,类似前端的元素id,自设;一般data_id=tooltip
      4. aes:ggiraph函数中可包含aes(),aes()包含可用属性,变量放在aes()内,常量放在aes()外
    2. 具体函数
      1. geom_bar_interactive
      2. geom_boxplot_interactive
      3. geom_histogram_interactive
      4. geom_hline_interactive
      5. geom_line_interactive
      6. geom_map_interactive
      7. geom_path_interactive
      8. geom_point_interactive
      9. geom_polygon_interactive
      10. geom_rect_interactive
      11. geom_segment_interactive
      12. geom_sf_interactive
      13. geom_text_interactive
      14. geom_tile_interactive
      15. geom_vline_interactive
    3. ggiraph(code = print(g))最后调用输出图像,展示动态效果;可用属性
      1. hover_css = "":hover动作下的前端改变,hover即悬停;内容是前端写法;
      2. *ggiraph()内的动态效果需要被调用时,geom_~(aes())内的data_id即显示标签调用的css(tooltip悬停时,调用data_id下的css)
  1. plotly:http://www.cnblogs.com/feffery/p/9293745.html
  2. d3-time-format:https://github.com/d3/d3-time-format/blob/master/README.md#locale_format
  3. ggplot_theme:https://yutannihilation.github.io/allYourFigureAreBelongToUs/ggthemes/
  4. scale_x_date(date_breaks = "1 month",date_labels = "%y/%m"),ggplot日期轴修改
  5. layout(xaxis=list(tickformat="%y/%m"))plotly坐标轴日期转换

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值