MATLAB繪圖

 

 

student(1).name = 'jone';

>> student(1).id = '[email protected]';

>> student(1).number = 30107489;

>> student(1).grade = [100 56 66 99]

 

student(2).name = 'cone';

student(2).id = '[email protected]';

student(2).number = 30107490;

student(2).grade = [88 43 66 99]

 

 

cell: 

  用法 詳見b站matlab教程_4變量與檔案存取

a=magic(4);

c = mat2cell(a,[1 1 1 1],[2,2])

c{1,1}

 

 

繪圖:

MATLAB在多組變量繪圖時,可將曲線以不同的顏
色,不同的線型及標記點表示出來.這 些選項如下表所示:
各種顏色屬性選項
選 項 意 義 選 項 意 義
'r' 紅色 'm' 粉紅
'g' 綠色 'c' 青色
32
'b'
蘭色 'w' 白色
'y' 黃色 'k' 黑色
各種線型屬性選項
選 項 意 義 選 項 意 義
'-' 實線 '--' 虛線
':' 點線 '-.' 點劃線
各種標記點屬性選項
選 項 意 義 選 項意 義
'.' 用點號繪製各數據點 '^' 用上三角繪製各數據點
'+' 用'+'號繪製各數據點 'v' 用下三角繪製各數據點
'*' 用'*'號繪製各數據點 '>' 用右三角繪製各數據點
' .' 用'.'號繪製各數據點 '<' 用左三角繪製各數據點
's'或squar 用正方形繪製各數據點'p' 用五角星繪製各數據點
'd'或diamond用菱 形繪製各數據點 'h' 用六角星繪製各數據點
這些選項可以連在一起用,如:'-.g'表示繪製綠色的點劃線,'g+'表示用綠
色的 '+'號繪製曲線.

默認曲線

holdon  % 這個指令要請求後面在繪圖程序不要覆蓋掉前面的繪圖程序,並把多個圖繪製在一起

plot(sin(0:pi/20:2*pi));

plot(cos(0:pi/20:2*pi));

plot(2*cos(0:pi/20:2*pi));

hold off

 

繪製點圖(帶顏色)

hold on  % 這個指令要請求後面在繪圖程序不要覆蓋掉前面的繪圖程序,並把多個圖繪製在一起

plot(sin(0:pi/20:2*pi), 'or--');

plot(cos(0:pi/20:2*pi), '*k:');

plot(2*cos(0:pi/20:2*pi));

hold off

 

 

繪製多個函數圖像並添加註解:

 

x = 0:0.5:4*pi;

y = sin(x);  h =cos(x);  w = 1./(1+exp(-x));

g = (1/(2*pi*2)^0.5)...

   .*exp((-1.*(x-2*pi).^2)./(2*2^2));

plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');

legend('cos(x)','sin(x)','kkk','jik')  

圖形註解是按照legend裏邊給出在名字順序依次命名

 

 

添加圖形題目和橫縱座標名稱

title() xlable()  ylable  zlable

 

x =0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);

plot(x,y1,'--*',x,y2,':o');

xlabel('t = 0 to 2\pi');  % \表示轉意,使圖例變爲2π

ylabel('sin(t)和e^{-x}的值');  % 同理,{}  也表示轉義

title('function plot of sin(t) and e^{-x}');

legend('sin(t)','e^{-x}');

 

 

圖像調整與美化(figure adjustment)

邊框  (x  y 軸的美化)

x =linspace(0,2*pi,1000); y = sin(x);

h =plot(x,y);

set(gca,'xlim',[0,2*pi]);  % 設置x軸長度

set(gca,'ylim',[-1.2,1.2]);

 

set(gca,'fontsize',25);  % 設置邊框字號大小

 

%%法1

set(gca,'xtick',0:pi/2:2*pi);  % 設置x軸tick(刻度)間隔

set(gca,'xticklabel',0:90:360)  % 設置x軸label的數值及間隔

 

%%法2

%set(gca,'FontName','symbol');

%set(gca,'XTickLabel',{'0', 'p/2', '3p/2', '2p'});

%%把x軸數值轉義爲π並顯示在座標軸上   (貌似我的mat無法顯示)

 

 

圖像線型美化  (line style and width)

x =linspace(0,2*pi,1000); y = sin(x);

h =plot(x,y);

%%法1

set(h,'linestyle','-.',...

    'linewidth',7.0,'color','g');

%%法2

%plot(x,y,'-.g','linewidth',7.0);

 

 

對點的美化

x =rand(20,1);

set(gca,'fontsize',40);

plot(x,'-md','linewidth',2,'MarkerEdgecolor','k',...

    'markerFacecolor','g','markersize',10);

%MarkerEdgecolor 強調點的邊框顏色

%markerFacecolor 強調點內部顏色

%markersize 強調點大小

xlim([1,20]);

 

 

畫多個圖像

(分爲figure1、2、3…)

x =-10:0.1:10;

y1 =x.^2 - 8;

y2 =exp(x);

figure,plot(x,y1);  % 畫出多個figure(幾個不同的頁面)

figure,plot(x,y2);

 

 

 

把圖形畫在一個figure上(只有一個圖形界面)還有邊框網格線的設置

t =0:0.1:2*pi; x = 3*cos(t); y = sin(t);

subplot(2,2,1);plot(x, y); axis normal

%normal 畫出的圖是正形

subplot(2,2,2);plot(x, y); axis square

%square 畫出的圖是xy軸長度相同

subplot(2,2,3);plot(x, y); axis equal

%equal 畫出的圖xy軸單位長度相同

subplot(2,2,4);plot(x, y); axis equaltight

%equal tight 畫出的圖,自己Google

 

%%% 不要邊框,只保留繪出的圖

%axis on

%axis off

%%% 把figure上右邊界的邊框開啓關閉

%box on

%box off

%%% 打開網格線

%grid on

%grid off

 

 

繪圖進階

1、  對數圖       可能不會用,看一下網上的做法

2、  雙y軸圖:  plotyy()

 

3、  直方圖(histogram)

4、  bar chart(條形圖)

5、  stackd and horizontal bar charts (豎直和水平條形圖)

6、  pie chart  (餅 圖)

7、  polar chart(極座標圖)

8、  stair and stem charts (階梯和火柴棍圖)

9、  boxplot and error bar (統計論文使用較多)

10、   fill()填充顏色

 

 

3D plot

function:

線圖:plot3

面圖:surf      surfc   surface       meshc


更新中......

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章