Origin Pro绘制聚类分析树状图

工作环境(蓝色粗体字为特别注意内容)
1、软件环境:Windows 7 Ultimate sp1、MatlabR2012b 32bit、OriginPro 2018C.

一般来说,Origin Pro主要工作就是画图,官方本身是不支持聚类分析的,也就无法绘制聚类分析树状图了。据说可以通过origin的App来实现,这一点由于种种原因没有验证过(访问不了官网,无法注册账号,你懂的)。需要的朋友可以点击这个链接:https://www.baidu.com/link?url=PKfRk6U4OH-drJ-01isa82DcNxIlnbe4srjQJZ6aLhtUJUjm3uwsaADoiIM9xQXjCegmLHegDUVpXaMYl59BdB1qVCVscNpoU268-S8gm8q&wd=&eqid=a40b818e0003b174000000065d64c146
应该可以达到下面这种效果
 

不过笔者尝试多次都无法打开该链接,网络原因?不得而知。 那是不是就无法使用Origin绘制聚类分析树状图了呢?答案是否定的。既然网络上没有相关资料可以参考,于是笔者只能自己动手了。。
下面我们来看看一个巧妙的推断思路(PANG氏定理)
1、要画图必须得有数据比如(x1,x2),(y1,y2)...这样,如果能够得到这样的点,那就可以将图像曲线绘制出来。
2、Matlab可以绘制聚类分析树状图,具体操作可以参考我的上一篇文https://blog.csdn.net/pang9998/article/details/100097785
比如像下面这样:

3、根据推论1、2可以推断出上图中一定含有数据点(x1,x2),(y1,y2)....,那下面就好办了,将上图中的数据点抠出来,用Origin绘制出来不就完事了吗?这是一个巧妙的思路,好,下面来看看具体操作。

Step1:用Matlab做聚类分析,并绘制出树状图;
Step2:将树状图另存为*.fig文件;
Step3:运行下面代码

% 如果两条曲线都画在同一个axis里面
% 画完图之后,运行这个,gcf就是当前fig的句柄
open('fig/CLUST_TREE_Filter.fig');
 obj = get(gca,'children')
 X = [];
 Y = [];
 for i = 1:size(obj,1)
     X = [X;get(obj(i), 'XData')];
     Y = [Y;get(obj(i),'YData')];
 end
 X = X'
 Y = Y';
 m = size(X,1);
 %FIG_DAT = zeros(m,size(X,2)+size(Y,2));
 FIG_DAT = [];
 for i = 1:size(X,2)
     FIG_DAT = [FIG_DAT,X(:,i),Y(:,i)];
 end

将FIG_DAT复制到Origin中,需要做一下设置即:将x轴数据标记出来。全选X轴数据(FIG_DAT数据格式:x,y,x,y....),

然后点击属性,选择x轴

Step4:选中数据,绘制曲线图,效果如下图,漂亮的不要不要的,完美收工!

总结:按照以上思路,其实不仅仅是树状图,理论上说,只要是Matlab能够绘制出来的图,必定包含(x,y)数据对,也就必定可以用Origin绘制出来(PANG氏定理)

喜欢的朋友点个赞,爱学习,爱分享,一起学习,一起进步。我是Pang9998.

发布了290 篇原创文章 · 获赞 163 · 访问量 46万+

猜你喜欢

转载自blog.csdn.net/pang9998/article/details/100097885