Matlab關於畫數據網格圖


1、surf(Z);

Z為一個矩陣,如果Z是向量,那么就需要先將其轉換為矩陣

reshape(Z,[length(X),length(Y)]);  X和Y為你的橫坐標取值個數。

具體代碼調用格式如下

Z=reshape(acc,[length(lambda2),length(lambda1)]);
surf(Z);
xlabel('\alpha','fontsize',20);
set(gca, 'xtick',1:2:11);
set(gca,'xticklabel',{'10^-5','10^-3','10^-1','10^1','10^3','10^5'})
ylabel('\beta','fontsize',20);
set(gca, 'ytick',1:2:11);
set(gca,'yticklabel',{'10^-5','10^-3','10^-1','10^1','10^3','10^5'});
zlabel('Classification accuracy (%)','fontsize',20);
colorbar('fontsize',12);
 view(135,55); title('AR','fontsize',20); print('-depsc','AR_4.eps');

 2、matlab plotyy 一條橫軸,兩條縱軸

clear all
clc
figure;
COIL20_convergence_Acc = xlsread(‘收斂曲線.xls');
obj = COIL20_convergence_Acc(:,1)';
eachacc = COIL20_convergence_Acc(:,2)';
x = 1:size(obj,2);
[AX,H1,H2] = plotyy(x,obj,x,eachacc,'plot');
legend('Objective function value','Classification accuracy');
set(gca,'fontsize',14);  
% set(get(AX(1),'Xlabel'),'String','Number of iterations');
set(get(AX(1),'Ylabel'),'String','Objective function value','fontsize',14,'color','k');
set(get(AX(2),'Ylabel'),'String','Classification accuracy','fontsize',14,'color','k');
xlabel('Number of iterations');
set(get(gca,'xlabel'),'fontsize',14);                    % 設置標尺字體大小
set(H1,'marker','.'); 
set(H2,'marker','.'); 

3、scatter3, 畫散點圖

對於一個n_sample*dim_fea的數據(1000*3維數據)

調用格式為:scatter3(X(:,1),X(:,2),X(:,3),'b','o','filled');    % 其中b為顏色,o為用圓圈標記,filled表示實心

scatter(x,y,a,c)  : a為區域尺寸, c為數據點顏色(向量)。

scatter(LPP_data(:,1),LPP_data(:,2),12,1:1:1000,'+');

PCA LPP NPE對於隨機散點圖降維顯示結果如下: 部分降維代碼見:http://lvdmaaten.github.io/drtoolbox/#download

% 散點圖 降維學習
clear all
clc
addpath('G:\機器學習\代碼和數據集\代碼\降維\drtoolbox\techniques\');
% load twinpeaks;
[X, labels, t] = generate_data('twinpeaks',1000);   % swiss
% load swiss
figure;
scatter3(X(:,1),X(:,2),X(:,3),12,1:1:1000,'o'); title('original twinpeaks');

% PCA
options.ReducedDim = 2;
[eigvector, eigvalue, meanData, PCA_data] = PCA(X, options);
figure;
scatter(PCA_data(:,1),PCA_data(:,2),12,1:1:1000,'o'); title('PCA twinpeaks');

% [mappedX, mapping] = pca(X, 2);

% NPE
no_dims = 2;
k = 10;
[NPE_data, mapping] = npe(X, no_dims, k);
figure;
scatter(NPE_data(:,1),NPE_data(:,2),12,1:1:1000,'o'); title('NPE twinpeaks');

% LPP
[LPP_data, mapping] = lpp(X, no_dims, k);
figure;
% scatter(LPP_data(:,1),LPP_data(:,2),12,'b','.'); title('LPP twinpeaks');
% figure;
scatter(LPP_data(:,1),LPP_data(:,2),12,1:1:1000,'o'); title('LPP twinpeaks');

  

4、生成顏色矩陣 colour = hsv(num)

5、按照類標來顯示散度圖

% 散點圖 降維學習
clear all
clc
addpath('G:\機器學習\代碼和數據集\代碼\降維\drtoolbox\techniques\');
% load twinpeaks;
[X, labels, t] = generate_data('twinpeaks',1000);   % swiss
% load swiss
figure;
indx = find(labels == -1);
scatter3(X(indx,1),X(indx,2),X(indx,3),12,'b','o'); 
hold on 
indx1 = find(labels == 0);
scatter3(X(indx1,1),X(indx1,2),X(indx1,3),12,'k','o'); title('original twinpeaks');


% PCA
options.ReducedDim = 2;
[eigvector, eigvalue, meanData, PCA_data] = PCA(X, options);
figure;
scatter(PCA_data(indx,1),PCA_data(indx,2),12,'b','o');
hold on 
scatter(PCA_data(indx1,1),PCA_data(indx1,2),12,'k','o'); 
title('PCA twinpeaks');

% [mappedX, mapping] = pca(X, 2);

% NPE
no_dims = 2;
k = 10;
[NPE_data, mapping] = npe(X, no_dims, k);
figure;
scatter(NPE_data(indx,1),NPE_data(indx,2),12,'b','o');
hold on 
scatter(NPE_data(indx1,1),NPE_data(indx1,2),12,'k','o');
title('NPE twinpeaks');

% LPP
[LPP_data, mapping] = lpp(X, no_dims, k);
figure;
% scatter(LPP_data(:,1),LPP_data(:,2),12,'b','.'); title('LPP twinpeaks');
% figure;
scatter(LPP_data(indx,1),LPP_data(indx,2),12,'b','o'); 
hold on 
scatter(LPP_data(indx1,1),LPP_data(indx1,2),12,'k','o'); 
title('LPP twinpeaks');

  

6

 

 

未完待續


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM