1. 程式人生 > 其它 >MATLAB-在GUI介面的圖中顯示資料

MATLAB-在GUI介面的圖中顯示資料

以內部材料為例

程式碼

% 內部材料的圖
sqldata=load('data.mat');
sqldata=struct2cell(sqldata);
sqldata=sqldata{1,1};
A1=sqldata(1:25,10);%磨損量
A2=sqldata(1:25,11);%磨損率
X=[1:1:25];
A3=[];A4=[];
for i=1:length(X)
    A3=[A3;str2num(A1{i})];
    A4=[A4;str2num(A2{i})];
end
[ax,h1,h2]=plotyy(handles.axes,X,A3,X,A4);
set(handles.axes,'XGrid','on','YGrid','on');
% set(ax,'Xlim',[1,25])%設定x軸範圍,並顯示更細密的網格
pos=axis;
xlabel(handles.axes,'樣本點','position',[1.15*pos(2) pos(3)]);
set(get(ax(1),'Ylabel'),'string','磨損量')%設定y軸的名稱
set(get(ax(2),'Ylabel'),'string','磨損率')%設定y軸的名稱
title(handles.axes,'內部材料的磨損量和磨損率的資料');
% set(h1,'linestyle','None','marker','o','color','r');
% set(h2,'linestyle','None','marker','*','color','b');
set(h1,'marker','o','color','b');
set(h2,'marker','*','color','r');
% set(gca,'xtick',(1:1:25)); %橫座標可以一點一點展示
grid on
legend('磨損量','磨損率','Location','North')

解析

上面這一塊是匯入資料

還可以設定其他的線型

程式碼:

% 內部材料的圖
sqldata=load('data.mat');
sqldata=struct2cell(sqldata);
sqldata=sqldata{1,1};
A1=sqldata(1:25,10);%磨損量
A2=sqldata(1:25,11);%磨損率
X=[1:1:25];
A3=[];A4=[];
for i=1:length(X)
    A3=[A3;str2num(A1{i})];
    A4=[A4;str2num(A2{i})];
end
[ax,h1,h2]=plotyy(handles.axes,X,A3,X,A4);
set(handles.axes,'XGrid','on','YGrid','on');
% set(ax,'Xlim',[1,25])%設定x軸範圍,並顯示更細密的網格
pos=axis;
xlabel(handles.axes,'樣本點','position',[1.15*pos(2) pos(3)]);
set(get(ax(1),'Ylabel'),'string','磨損量')%設定y軸的名稱
set(get(ax(2),'Ylabel'),'string','磨損率')%設定y軸的名稱
title(handles.axes,'內部材料的磨損量和磨損率的資料');
set(h1,'linestyle','None','marker','o','color','r');
set(h2,'linestyle','None','marker','*','color','b');
% set(h1,'marker','o','color','b');
% set(h2,'marker','*','color','r');
% set(gca,'xtick',(1:1:25)); %橫座標可以一點一點展示
grid on
legend('磨損量','磨損率','Location','North')

程式碼:

% 內部材料的圖
sqldata=load('data.mat');
sqldata=struct2cell(sqldata);
sqldata=sqldata{1,1};
A1=sqldata(1:25,10);%磨損量
A2=sqldata(1:25,11);%磨損率
X=[1:1:25];
A3=[];A4=[];
for i=1:length(X)
    A3=[A3;str2num(A1{i})];
    A4=[A4;str2num(A2{i})];
end
[ax,h1,h2]=plotyy(handles.axes,X,A3,X,A4);
set(handles.axes,'XGrid','on','YGrid','on');
% set(ax,'Xlim',[1,25])%設定x軸範圍,並顯示更細密的網格
pos=axis;
xlabel(handles.axes,'樣本點','position',[1.15*pos(2) pos(3)]);
set(get(ax(1),'Ylabel'),'string','磨損量')%設定y軸的名稱
set(get(ax(2),'Ylabel'),'string','磨損率')%設定y軸的名稱
title(handles.axes,'內部材料的磨損量和磨損率的資料');
% set(h1,'linestyle','None','marker','o','color','r');
% set(h2,'linestyle','None','marker','*','color','b');
% set(h1,'marker','o','color','b');
% set(h2,'marker','*','color','r');
% set(gca,'xtick',(1:1:25)); %橫座標可以一點一點展示
grid on
legend('磨損量','磨損率','Location','North')