思路和方法,学习重点是数据的筛选拆分、用多个表格的数据绘制分组图表,图层(Layer)的管理。
数据的筛选与拆分
原始数据依照《ggplot2: Guide to Create Beautiful Graphics in R》一书中的方法用rnorm()函数生成的,将数据导入到origin(Origin2017以及之后的版本应该都没问题)的图表中,如下。
由于目前版本的画边际图表的工具不能识别分组信息(只能选择2列),因此要实现分组效果,我们只能将数据拆分成3组,手动添加分组。这里我们用到Origin的数据筛选功能,选中C列,点漏斗工具,为该列添加过滤器(灰色的漏斗),然后点灰色的漏斗选择C1组的数据(如果是数值型的数据可筛选某一范围的数据),筛选后的数据上“漏斗”变为绿色。
然后选中筛选到的数据,右键,复制到一个新表(sheet)中,sheet名称为C1(这样做便于之后的图例设置),如下图。
如果觉得表头的绿锁不能原谅,可以单击下它,将Recalculate Mode改为None,即可让它消失,然后重复之前的步骤,将C2和C3组的数据也筛选出来,分别复制到新表中,如下图。
图表的绘制
在C1 表中,选中两列数据,然后在Plot菜单下,点击Marginal Histograms图标(如下图),即可完成初始图表绘制。
在初始图表中有(1、2、3)3个图层,分别对应散点图、上方直方图和右侧直方图。然后,在图表区域右键,点Plot Setup,如下图。
在Plot Setup窗口中,接下来需要把C2和C3图表的数据也分别添加到3个图层中,方法步骤参考下图,注意调整3个Layer的C1、C2、C3顺序,使其保持一致。
点OK后,得到添加了3组数据的组合图表,接下来右键画布左上角的图层数字标签,点Layer Content...(快捷键 F12)进如图层内容窗口,进行手动分组。
选中右侧窗口中的3行数据,点Group按钮,即可将当前的图层中的数据分成3组;然后通过点Layer按钮,切换(Switch layer)到其余的图层,执行同样的操作,如下图。
3个图层都完成分组后,点Apply按钮,即可实现下图的分组效果。
接下来我们需要隐藏掉图层2和3的直方图,方法是双击图表,在Plot Details窗口下,将直方图的边框颜色调为白色(无透明选项),填充颜色调为透明。
然后为图层2和3添加分布曲线,Curve Type有多种,这里选择较为平滑的Normal,同时调整线的颜色和粗细(这里调为1.5),如下图。
至于图层1中的散点图,用颜色就可以区分分组,所以将Symbol Type的Increment改为None,同时在Group选项下调整散点颜色,如下图。
调整后的效果如下:
图例的调整
在通过图例工具添加图例后,可能不能如我们所愿,因为图表的数据来自3个不同的表格。这时你可以手动编辑,也可以通过下Plot Details下的Legends/Titles选项让图例自动更新,如下图。这里的@WS表示用表格(Sheet)的名称做图例,你也可点箭头所指的按钮了解更多的形式。
添加图例后的效果是下图这样的,图表就调整基本完成了。
如果你觉得图层2和3的核密度曲线与散点图贴的太近,也可以右键图层数字标签,打开图层管理窗口(Layer management),稍微将图层2上移,图层3右移,方法如下图。
之后隐藏掉两个核密度曲线图表的坐标轴,给散点图添加上方和右侧的网格线或坐标轴,可得到下图这样的“比较透气”的效果。
以上就是边际分布曲线图全部绘制过程,由于没有自动分组功能,过程稍显复杂,希望之后的Origin版本会更新吧。不过,对于Origin学习者来说,通过这个案例相信能对Origin作图有更深入的了解。
如果用Origin自带的案例数据绘制的边际分布曲线图是下图(与前文提到的图片配色不同)这样的,为了方便大家练习,我已把本文两个图表的示例数据和工程文件都上传到Omicshare论坛上,大家可登陆下载。
链接:http://www.omicshare.com/forum/thread-4769-1-1.html
由于受篇幅所限,有些操作细节可能并没有讲清楚,大家可参考之前的《Origin也可以方便绘制火山图》这个综合范例。