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

xiaoxiao2022-06-11  29

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

 

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

 

 

转载请注明原文地址: https://www.6miu.com/read-4932152.html

最新回复(0)