首页 > 行业资讯 > Origin绘图新玩法!如何以对角线为界限,巧妙设置两组散点并绘制核密度?

Origin绘图新玩法!如何以对角线为界限,巧妙设置两组散点并绘制核密度?

时间:2023-12-23 来源: 浏览:

Origin绘图新玩法!如何以对角线为界限,巧妙设置两组散点并绘制核密度?

原创 谭编 编辑之谭
编辑之谭

EditorTan

本公众号为谭编读者交流园地,谭编《Origin科研绘图与学术图表绘制从入门到精通》(北大出版社)是目前唯一一本精彩实例超过150个的、讲述完整Origin编程与高效率绘图的、顶刊插图必备的、全彩色印刷的科研数据处理与绘图科研工具书!

导   读

在Origin绘图中,如何以对角线为界限,灵活设置两组散点并绘制核密度曲线? 这个看似棘手的问题,在编程思维的引导下,将迎刃而解! 传统方法以文本或数据大小来映射颜色,但当你想要以对角线为分界线,为不同组别点赋予不同颜色时,找到一个突破口确实不容易。
本文将为你揭示Origin绘图的新玩法,让你轻松掌握在对角线上设置两组散点并绘制核密度的技巧。将编程思维与Origin的强大功能相结合,为你的图表增色不少!让我们一起探索,让绘图不再受限,创造出令人惊艳的可视化效果吧!
对于如何融入“编程思维”,谭编新书《Origin科研绘图与学术图表绘制从入门到精通》的第八章第二节专门列举了4个编程案例,可以很好地掌握Origin的“编程思维”。以下是谭编新书的购买链接,目前是圣诞促销,又是难得的5.5骨折,赶紧下单,错过不知再等何时有优惠。

↑↑↑图书中的编程章节↑↑↑

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  数据表

在弹窗的代码 框中输入以下代码:

  1. int  category; 

  2. IF (B>A* 250 / 800 ){ 

  3.   category= 1

  4. } else

  5.   category= 0

  6. }

第一行代码是定义一个整数型的变量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绘图优化技巧,激发绘图灵感!✨

本刊征稿

《华南师范大学学报(自然科学版)》

长期征稿

期刊级别: 北大核心、科技核心等。
收稿范围: 双碳、能源、环境、生态、材料、AI等。
出版时滞: 从投稿到刊出时间<5个月,优秀稿源通过评审后,优先刊出。
减免费用: 教授第一作者免收版面费。
责任编辑: 加谭编微信,投稿咨询。

谭编微信,投稿咨询

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐