Origin绘图新玩法!如何以对角线为界限,巧妙设置两组散点并绘制核密度?
Origin绘图新玩法!如何以对角线为界限,巧妙设置两组散点并绘制核密度?
EditorTan
本公众号为谭编读者交流园地,谭编《Origin科研绘图与学术图表绘制从入门到精通》(北大出版社)是目前唯一一本精彩实例超过150个的、讲述完整Origin编程与高效率绘图的、顶刊插图必备的、全彩色印刷的科研数据处理与绘图科研工具书!
导 读
↑↑↑图书中的编程章节↑↑↑
1 样图图
以下是提问者提供的样图,是用Matlab绘制的图。图中实现了以对角线为界设置了两种颜色,但存在几个问题:
(1) 散点密集区不宜区分核密度;
( 2 )核密度图未画出,颜色标尺形同虚设。
图1 样图
图2目标图
本文教程涉及以下技能:
(1)利用编程设置列值,作为颜色映射的标签列,判断Y大于对角线的y值是设置列值为1,否则设置列值为0。
(2)绘制散点的核密度图,同时生成核密度矩阵数据。
(3)在核密度图中添加散点图,并按标签列设置不同颜色。
(4)创建两个点的坐标,绘制对角线。
(5)自定义图例。
2 利用编程设置列值
在实验中可能会产生XY两列数据,绘制的图为密集分布的散点图。例如下图为本教程演示数据表。AB两列为原始散点数据,新增3列,C列为标签列,DE列为对角线起点、终点的坐标。注意D列要设置为X属性。选中C列,右键选择“设置列值”。
图3 数据表
在弹窗的代码 框中输入以下代码:
-
int category;
-
IF (B>A* 250 / 800 ){
-
category= 1 ;
-
} else {
-
category= 0 ;
}
第一行代码是定义一个整数型的变量category。
后续的判断逻辑中,条件为B列某行的值大于A列值乘以斜率,表示在对角线以上,否则表示在对角线以下,分别对category赋值为1和0。然后在“Col(C)=”下方的赋值窗口中,直接用Category的取值对C列进行设置。
图4 利用编程设置列值
其实,判断条件中“>”右边的式子为某条直线的线性方程y=kx+b。这里的对角线是通过原点(0,0)的,截距b=0。因此,该式子为x与斜率k的乘积。而斜率k可以由Y和X轴的最大值之比来确定,即k=250/800。
我们可以注意到,我们不需要设计循环语句,上述代码默认会遍历数据表中的所有行的数据,逐行进行判断和赋值运算。
另外,“Row(i): From”的起始、终止值为auto时,默认对所有行数据进行操作,如果我们设置起始、终止行为数据表中局部行号范围,则可以对原数据表中局部数据进行操作。 这在某些数据的计算和处理中非常有用。
3 绘制散点的核密度图
经过前述步骤设置列值后,得到A、B、C三列数据。选择A、B两列数据,按下图步骤绘制“2D Kernel Density”(2D核密度图)。
图5 核密度图的绘制菜单
弹出的对话框中,基本上默认就行。但这里要注意一个细节:下图中,我们需要单击③处按钮选择菜单中④处的[<input>]<input>,这样就会在原始数据的工作簿和工作表中追加核密度数据。如果没有修改Display Data,点击⑥处的“OK”键之后,将新建一个工作簿存储结果数据,这样不方便我们修改散点的颜色。
图6 核密度图的参数设置
按下图步骤修改颜色映射。
图7 修改颜色映射
分别双击X和Y轴,修改刻度范围分别在0~800和0~250。
4 按对角线区分设置散点颜色
双击散点,打开“绘图细节”对话框,设置散点符号为圆圈,填充为“无”,按下图步骤设置依据C列的标签设置对角线两边的散点颜色为两种不同的颜色。
图8 按C列设置不同颜色
5 设置2个点绘制直线
样图中要求绘制对角线,从原点(0,0)到右上角(800,250),因此,我们只需要在数据表中追加2列,将其中一列设置为X属性,在第一、二行的X和Y列输入这两个点的坐标即可。
图8 追加2列填入对角线坐标
按下图步骤,在绘制好的核密度图上追加对角线的数据。
图9 向绘图中追加对角线数据并设置为line线图
经过其他细节的修改,最终得到下图的效果。
图10 效果图
6 自定义图例
仔细检查前面的效果图,感觉缺少点什么!而且还是非常重要的,那就是图例!通常图形一旦绘制出来就有图例,但有时候缺少图例而且不知道怎么添加或重构图例。不用纠结了,我们可以自定义图例和特殊符号。
图11 自定义图例
在每一行符号代码的末尾,添加“data1”等样品标签,确定后得到下图的效果。
图12 最终效果图
分享是一种美德,若觉得这个技巧有趣有用,不妨点赞并转发给你的朋友们。让大家一起在Origin的世界里发现更多可能性!你的点赞是我们创作的最大动力,也是让更多人受益的最好方式。一起加入我们,共同探讨Origin绘图优化技巧,激发绘图灵感!✨
本刊征稿
《华南师范大学学报(自然科学版)》
长期征稿
谭编微信,投稿咨询
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
