- 设置基础图形参数
- par()设置图形特征,直到会话结束
- opar<-par(no.readonly=T)……par(opar),将默认图形属性保存,在修改图形属性的作图后,恢复默认值
- par(mfrow=c(1,1))设置画板分隔成1*1的等大区域
- 符号和线条
- pch=1|2|3|......点的符号(形状)
- par()设置图形特征,直到会话结束
-
-
- cex点的形状的大小,默认为1
- lty线条类型,1到6
- lwd线条宽度,默认为1
- 颜色
- col默认绘图颜色,col="white"
- rainbow()创建连续性颜色向量
- col.~
- axis坐标轴刻度文字
- lab坐标轴标签
- main标题
- sub副标题
- fg图形前景色、bg图形背景色
- col默认绘图颜色,col="white"
- 文本属性
- cex相对默认大小缩放倍数
- cex.~
- axis坐标轴刻度文字
- lab坐标轴标签
- main标题
- sub副标题
- font字体样式,1为常规,2为粗体,3为斜体
- font.~
- axis坐标轴刻度文字
- lab坐标轴标签
- main标题
- sub副标题
- ps字体磅值,文本的最终大小为ps*cex
- family字体族,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到6
- col线条和刻度的颜色
- 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()图例的标识的对象,不能省略
- location图例位置
- 文本标注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, alpha
- geom_boxplot() 箱线图 color, fill, alpha, notch, width
- geom_density() 密度图 color, fill, alpha, linetype
- geom_histogram() 直方图 color, fill, alpha, linetype, binwidth
- geom_hline() 水平线 color, alpha, linetype, size
- geom_jitter() 抖动点 color, size, alpha, shape
- geom_line() 线图 colorvalpha, linetype, size
- geom_point() 散点图 color, alpha, shape, size
- geom_rug() 地毯图 color, side;类似核密度图
- geom_smooth() 拟合曲线 method, formula, color, fill, linetype, size
- geom_text() 文字注解 Many; see the help for this function
- geom_violin() 小提琴图 color, fill, alpha, linetype
- geom_vline() 垂线 color, alpha, linetype, size
- 常见选项
- color点,线,填充区域的边界着色
- fill填充区域着色
- alpha颜色透明度0~1
- linetype图案的线条
- 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~x
- y~log(x)
- y~poly(x,n)n次多项式拟合
- y~ns(x,n)一个具有n个自由度的样条拟合
- se绘制置信区间,默认为T
- level置信区间水平,默认95%
- fullrange拟合覆盖全图(默认T)还是只对现有数据F
- method平滑函数,实际使用中,模型是什么函数构建的,作图就用什么函数
- 修改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=)
- 坐标轴,labs()添加title,x,y标题和坐标文字
- 快速参考:https://www.cnblogs.com/nxld/p/6059603.html
- lattice高级作图:通用方法graph_function(formula,data=,options)
- graph_function
- contourplot()3D等高线图z~x*y
- levelplot()3D水平图z~y*x
- cloud()3D散点图z~x*y|A
- wireframe()3D线框图z~y*x
- barchart()条形图x~A
- bwplot()箱线图x~A
- dotplot()点图~x|A
- histogram()柱状图~x
- densityplot()核密度图~x|A*B
- parallelplot()平行坐标曲线图dataframe
- xyplot()散点图y~x|A
- splom()散点图矩阵dataframe
- stripplot()线框图A~x
- formula:y~x|A*B,一般是数值之间的图形关系,在不同的因子水平下的情况
- ggiraph:ggplot的动态展现,加上"_interactive"后缀,可使用动态展现的函数
- 可用属性
- tooltip:一列数据,鼠标移动到元素上显示的标签
- onclick:一列数据,当元素被点击时,调用JavaScript函数,写法都是JavaScript的函数
- data_id:一列数据,元素对应的id,类似前端的元素id,自设;一般data_id=tooltip
- aes:ggiraph函数中可包含aes(),aes()包含可用属性,变量放在aes()内,常量放在aes()外
- 具体函数
- geom_bar_interactive
- geom_boxplot_interactive
- geom_histogram_interactive
- geom_hline_interactive
- geom_line_interactive
- geom_map_interactive
- geom_path_interactive
- geom_point_interactive
- geom_polygon_interactive
- geom_rect_interactive
- geom_segment_interactive
- geom_sf_interactive
- geom_text_interactive
- geom_tile_interactive
- geom_vline_interactive
- ggiraph(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.html
- d3-time-format:https://github.com/d3/d3-time-format/blob/master/README.md#locale_format
- ggplot_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坐标轴日期转换