台湾国立大学郭彦甫Matlab教程笔记(11) advanced 2D plots 上
臺灣國立大學(xué)郭彥甫Matlab教程筆記(11)
today:
1.advanced 2D plots
2.color space色彩使用
3.3D plots
圖形概覽,做研究的時候需要選擇圖形
special plots特殊繪圖
funtions1:
loglog: graph with logarithmic scales for both axes兩個坐標軸都是對數(shù)
semilogx:graph with a logarithmic scale for the x-axis and a linear scale for the y-axis 一個坐標x坐標是對數(shù)
semilogy:graph with a logarithmic scale for the y-axis and a linear scale for the x-axis一個坐標y坐標是對數(shù)
plotyy:gragh with y-tick labels on the left and right side兩側(cè)y軸
functions2:
hist: histogram plot直方圖
bar: bar graph柱狀圖
pie:pie chart餅狀圖
polar :polar coordinate plot極坐標繪圖
對數(shù)部分:
舉例子:
x=logspace(-1,1,100);%x從10的-1次方到10的1次方,其中有100個數(shù) y=x.^2;%y也是100個數(shù) subplot(2,2,1);%第一個圖 plot(x,y); title('plot'); subplot(2,2,2);%第二個圖 semilogx(x,y);%x取對數(shù)就變成 -1 、0、1 title('semilogx'); subplot(2,2,3);%第三個圖 semilogy(x,y);%y軸取對數(shù) title('semilogy'); subplot(2,2,4);%第四個圖 loglog(x,y);%兩個軸都取對數(shù) title('loglog');我們來看一下 四幅圖的對比效果
圖一:坐標軸正常
圖二:x軸取對數(shù),y軸正常linear,x軸變成-1、0、1
圖三:y軸取對數(shù),x軸正常,y軸變成-1、0、1
圖四:兩個軸同時取對數(shù),變成直線
現(xiàn)在加一句代碼:
set(gca,'xgrid','on');看一下效果:會出現(xiàn)網(wǎng)格,可以看出來網(wǎng)格不均勻,可以體會取對數(shù)的效果。
下一頁:
plotyy()函數(shù)
有兩個y軸,可以畫在同一張圖上
看一個例子
這個方程如下
我們想象一下這個方程圖形大概長什么樣子
使用plotyy()函數(shù):
[AX,H1,H2]=plotyy(x,y1,x,y2);繪制兩個函數(shù)y1和y2,傳出來三個句柄handle:AX是坐標軸X,axis;H1是第一條曲線的handle,H2是第二條曲線的handle
其中,最主要的是AX這個handle,主要靠這個handle來設(shè)置兩側(cè)的y軸顯示
獲取左邊的y軸,使用get(AX(1),‘Ylabel’) ,同理,獲取右邊的軸,使用get(AX(2),‘Ylabel’);
畫圖總的源代碼:
x=0:0.01:20; y1=200*exp(-0.05*x).*sin(x); y2=0.8*exp(-0.5*x).*sin(10*x); [AX,H1,H2]=plotyy(x,y1,x,y2);%獲取句柄 set(get(AX(1),'ylabel'),'string','left y-axis');%設(shè)置左邊y軸,名稱是‘left y-axis’ set(get(AX(2),'ylabel'),'string','right y-axis');%設(shè)置右邊y軸 title('labeling plotyy'); set(H1,'linestyle','--');%設(shè)置畫線的風(fēng)格 set(H2,'linestyle',':');本代碼運行結(jié)果:
和之前推算的結(jié)果形狀差不多
統(tǒng)計的圖形
histogram分布圖,柱形統(tǒng)計圖
功能:看整體分布的情況
hist(y,10);怎么解釋,hist()里面有兩個argument參數(shù),第一個y要繪制的變量,第二個參數(shù)是 柱形的個數(shù)。10表示分布圖中有10個柱形長條。
我們來產(chǎn)生一些data來看分布長什么樣子
例程:
我們來看一下 直方圖的效果圖
Bar charts柱狀圖
看個別的情況
x=[1 2 5 4 8];%每一個長條的高度
y=[x;1:5];%y是一個matrix ,會分成兩組bar ,如第二個圖
x是一個向量,bar(x)會產(chǎn)生一個bar
y是一個兩行的矩陣,bar(y)會產(chǎn)生兩個bar
bar3(y),這個是繪制三維的圖形
例程:
看一下整體的運行效果:
下面是
stacked and horizontal bar charts
壓棧和水平柱狀圖
stacked壓棧:每一個塊的高度表示每一個的大小
指令bar(y,‘stacked’); 后面用單引號里面是stacked ,就是這種格式
horizontal 給柱狀圖變成水平的
指令是barh() bar 后面加一個 horizontal 的首字母
例程代碼:
我們來看一下這個例程的運行結(jié)果:
作業(yè)題:
題目:把水平的柱狀圖變成堆棧式的柱狀圖
我的練習(xí)代碼:
barh(y,'stacked');練習(xí)結(jié)果:
Pie Charts餅狀圖
composition chart 組成圖,看各個部分的比例
函數(shù)用法:pie(a),a是一個向量
pie(a,[0 0 0 1])第二個參數(shù)是一個vector ,如果哪個位置是1,則表示pie chart 圖哪個扇形會裂開
pie3(a)三維的餅狀圖
看例子
a=[10 5 20 30];四個部分的數(shù)據(jù)給出了,求各個部分占比多少
答案:
代碼:
a=[10 5 20 30]; subplot(1,3,1);pie(a); subplot(1,3,2);pie(a,[0,0,0,1]); subplot(1,3,3);pie3(a,[0,0,0,1]);作業(yè):
題目:裂開餅狀圖所有的部分
我的練習(xí)
我的代碼:
運行結(jié)果:
下面是
Polar Chart極坐標圖
用角度和半徑來畫圖 (theta 和 r)
polar chart長這個樣子
五邊形怎么畫?我們要找角度theta和半徑r
五邊形是360°分成了五等分,可以用linspace()函數(shù)來幫忙,它可以返回增加的角度,也就是五等分的角度。 linspace(0,2pi,6);這里寫6的原因是 6個數(shù),中間間隔是5個。所以角度 theta=linspace(0,2pi,6); 半徑r取1,r=ones(1,length(theta));
我們現(xiàn)在要繪制如下四張圖:
例程代碼:
筆者計算機跑出來的效果:
作業(yè)題:
題目:繪制六邊形
我的練習(xí):
思路:找到theta 和r 。六邊形 被分成六個部分,同樣可以用linspace()函數(shù)
代碼:
練習(xí)結(jié)果:
stairs and stem charts階梯圖和火柴梗圖
stairs畫圖是畫階梯狀的圖
stem畫圖是豎線圖
下面這個程式是繪制sin()函數(shù),使用stairs()函數(shù)和stem()函數(shù)
例程:
現(xiàn)在再來注記一下 linspace 不是 line space 的縮寫,是linearly space 線性空間的縮寫,這樣就不會記錯,寫錯了。linspace是線性空間的生成
運行的結(jié)果:
作業(yè):
題目:繪制函數(shù)f(t),然后取樣
我的練習(xí):
分析:要求5HZ取樣,根據(jù)時間和頻率的關(guān)系,5hz對應(yīng)的是0.2s,然后根據(jù)上圖要求,時間從0到10秒,所以需要10/0.2=50個采樣
我的代碼:
運行結(jié)果:
Boxplot and Error Bar
在統(tǒng)計中常用
boxplot(x) creates a box plot of the data in x. If x is a vector, boxplot plots one box. If x is a matrix, boxplot plots one box for each column of x.
執(zhí)行一個例程
load carsmall boxplot(MPG,Origin);查看一下效果:
error bar 描繪出誤差
做研究的時候可能需要指出數(shù)據(jù)的誤差范圍
e=std(y)*ones(size(x));這里用的是標準差來算的長度
執(zhí)行一個例程:
執(zhí)行程序的結(jié)果:
【總結(jié)】
本文記錄了advanced 2D plots一部分
funtions1:
loglog: graph with logarithmic scales for both axes兩個坐標軸都是對數(shù)
semilogx:graph with a logarithmic scale for the x-axis and a linear scale for the y-axis 一個坐標x坐標是對數(shù)
semilogy:graph with a logarithmic scale for the y-axis and a linear scale for the x-axis一個坐標y坐標是對數(shù)
plotyy:gragh with y-tick labels on the left and right side兩側(cè)y軸
functions2:
hist: histogram plot直方圖
bar: bar graph柱狀圖
pie:pie chart餅狀圖
polar :polar coordinate plot極坐標繪圖
functions3:
stairs(),stem(),boxplot(),errorbar()
以上是關(guān)于統(tǒng)計的一部分圖形學(xué)習(xí)與練習(xí)
總結(jié)
以上是生活随笔為你收集整理的台湾国立大学郭彦甫Matlab教程笔记(11) advanced 2D plots 上的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++(和opencv)如何把局部变量变
- 下一篇: 人寿保险的纯保费由哪部分构成