Đồ thị l−ới, hộp chứa trục, nhãn, và l

Một phần của tài liệu Tài liệu MatLab (Trang 125 - 138)

17.4 Đồ thị l−ới, hộp chứa trục, nhãn, và lời chú giải−ới, hộp chứa trục, nhãn, và lời chú giải−ới, hộp chứa trục, nhãn, và lời chú giải−ới, hộp chứa trục, nhãn, và lời chú giải

Lệnh grid ongrid ongrid ongrid on sẽ thêm đường lới vào đồ thị hiện tại. Lệnh grid offgrid offgrid offgrid off sẽ bỏ các nét này, lệnh gridgrid

gridgrid mà không có tham số đi kèm theo thì sẽ xen kẽ giữa chế độ onononon và offoffoffoff. MATLAB khởi tạo với

grid off grid off grid off

grid off . Thông thường trục toạ độ có nét gần kiểu solidsolidsolidsolid nên gọi là hộp chứa trục. Hộp này có thể tắt đi với box offbox offbox offbox off và và và và box onbox onbox onbox on sẽ khôi phục lại. Trục đứng và trục ngang có thể có nhãn với lệnh xlabelxlabel xlabelxlabel và ylabelylabelylabelylabel. Lệnh titletitletitletitle sẽ thêm vào đồ thị tiêu đề ở đỉnh. Dùng hàm sinesinesinesine và cosine

cosine cosine

cosine để minh hoạ:

>> x = linspace(0,2*pi,30);

>> y = sin(x);

>> z = cos(x);

>> plot(x,y,x,z)

H×nh 17.5b H×nh 17.5b H×nh 17.5b H×nh 17.5b

>> box off

>> xlabel('Independent variable X')

>> ylabel('dependent variable Y and Z')

>> title('Sine and Cosine Curve')

H×nh 17.6

Bạn có thể thêm nhãn hoặc bất cứ chuỗi kí tự nào vào bất cứ vị trí nào bằng cách sử dụng lệnh text text text text. Cú pháp của lệnh này là : text (x, y,string)text (x, y,string)text (x, y,string)text (x, y,string) trong đó x, y là toạ độ tâm bên trái của chuỗi văn bản. Để thêm nhãn vào hình sinesinesinesine ở vị trí (2.5, 0.7) nh− sau:

>> grid on, box on

>> text(2.5,0.7,'sin(x)')

Nếu bạn muốn thêm nhãn mà không muốn bỏ hình vẽ khỏi hệ trục đang xét, bạn có thể thêm chuỗi văn bản bằng cách di chuột đến vị trí mong muốn. Lệnh gtextgtextgtextgtext sẽ thực hiện việc này.

VÝ dô (H×nh 17.8):

>> gtext('cos(x)')

H×nh 17.7 H×nh 17.7 H×nh 17.7 H×nh 17.7

H×nh 17.8 H×nh 17.8 H×nh 17.8 H×nh 17.8 17.5 Kiến tạo hệ trục toạ độ

17.5 Kiến tạo hệ trục toạ độ 17.5 Kiến tạo hệ trục toạ độ 17.5 Kiến tạo hệ trục toạ độ

MATLAB cung cấp cho bạn công cụ có thể kiểm soát hoàn toàn hình dáng và thang chia của cả hai trục đứng và ngang với lệnh axisaxisaxisaxis. Do lệnh này có nhiều yếu tố, nên chỉ một số dạng hay dùng nhất đ−ợc đề cập ở đây. Để biết một cách đầy đủ về lệnh axisaxisaxisaxis, bạn hãy xem hệ trợ giúp help help help của MATLAB help hoặc các tham khảo khác. Các đặc tính cơ bản của lệnh axisaxisaxisaxis đ−ợc cho trong bảng d−ới đây:

Lệnh Mô tả

axis([xmin xmax ymin ymax])

đ−ợc đa ra trong vector hàng

Thiết lập các giá trị min,max của hệ trục dùng các giá

trị

V=axis V là một vector cột có chứa thang chia cho đồ thị hiện tại:

[xmin xmax ymin ymax]

axis auto Trả lại giá trị mặc định thang chia

axis(‘auto‘) xmin = min(x), xmax = max(x), ..v.v...

axismanual Giới hạn thang chia nh thang chia hiện tại

axis xy Sử dụng (mặc định ) hệ toạ độ decac trong đó gốc

toạ độ ở

Góc góc thấp nhất bên trái, trục ngang tăng từ trái qua phải, trục đứng tăng từ dưới lên

axis ij Sử dụng hệ toạ độ ma trận, trong đó gốc toạ độ ở

đỉnh góc trái, trục đứng tăng từ đỉnh xuống, trục ngang tăng từ trái qua phải

axissquare Thiết lập đồ thị hiện tại là hình vuông, so với mặc định h×nh

ch÷ nhËt

axisequal Thiết lập thang chia giống nhau cho cả hai hệ trục axis tightequal Tương tự nh axis equal nhưng hộp đồ thị vừa đủ đối

với dữ liêu

axis normal Tắt đi chế độ axis equal, equal, tight và vis3d

axis off Tắt bỏ chế độ nền trục, nhãn, lới, và hộp, dấu. Thoát khỏi chế độ lệnh title và bất cứ lệnh label nào và

thay bởi lệnh text và gtext

axison Ng−ợc lại với axis off nếu chúng có thể.

Thử kiểm nghiệm một số lệnh axisaxisaxisaxis cho đồ thị của bạn, sử dụng các ví dụ trước đó sẽ cho ta kết quả nh− sau:

>> axis off % bỏ trục toạ độ

H×nh 17.9

>> axis on, grid off % turn the axis on, the grid off

H×nh 17.10 H×nh 17.10 H×nh 17.10 H×nh 17.10

>>axis ij % turn the plot upside-down

H×nh 17.11 H×nh 17.11 H×nh 17.11 H×nh 17.11

>> axis square equal % give axis two command at once

H×nh 17.12 H×nh 17.12 H×nh 17.12 H×nh 17.12

>> axis xy normal % return to the defaults

H×nh 17.13 17

17 17

17.6 In h×nh.6 In h×nh.6 In h×nh.6 In h×nh

Để in các hình mà bạn vừa vẽ hoặc các hình trong ch−ơng trình của MATLAB mà bạn cần, bạn có thể dùng lệnh in từ bảng chọn hoặc đánh lệnh in vào từ cửa sổ lệnh:

+) In bằng lệnh từ bảng chọn: Trước tiên ta phải chọn cửa sổ hình là cử sổ hoạt động bằng cách nhấn chuột lên nó, sau đó bạn chọn mục bảng chọn PrintPrintPrint từ bảng chọn filePrint filefile. Dùng các file thông số tạo lên trong mục bảng chọn Print SetupPrint SetupPrint SetupPrint Setup hoặc Page SetupPage SetupPage SetupPage Setup, đồ thị hiện tại của bạn sẽ đ−ợc gửi ra máy in.

+) In bằng lệnh từ cửa sổ lệnh: Tr−ớc tiên bạn cũng phải chọn cửa sổ hình làm cửa sổ hoạt

động bằng cách nhấn chuột lên nó hoặc dùng lệnh figure(n)figure(n)figure(n)figure(n), sau đó bạn dùng lệnh in.

>> print % prints the current plot to your printer

Lệnh orientorientorientorient sẽ thay đổi kiểu in: Kiểu mặc định là kiểu popopoportraitrtraitrtraitrtrait, in theo chiều đứng, ở giữa trang. Kiểu in landscape landscape landscape landscape là kiểu in ngang và kín toàn bộ trang. Kiểu in talltalltalltall là kiểu in

đứng nh−ng kín toàn bộ trang. Để thay đổi kiểu in khác với kiểu mặc định, bạn dùng lệnh orient

orient orient

orient với các thông số của nó nh sau:

>> orient % What is the current orientation ans=

portrait

>> orient landscape % print sideways on the page

>> orient tall % stretch to fill the vertical page

Nếu bạn muốn tìm hiểu kỹ hơn về chúng thì hãy xem trợ giúp trực tuyến về chúng.

17.7 17.7 17.7

17.7 Thao tác vớThao tác vớThao tác vớThao tác với đồ thịi đồ thịi đồ thị i đồ thị

Bạn có thể thêm nét vẽ vào đồ thị đã có sẵn bằng cách dùng lệnh hold hold hold hold. Khi bạn thiết lập hold on

hold on hold on

hold on, MATLAB không bỏ đi hệ trục đã tồn tại trong khi lệnh plotplotplotplot mới đang thực hiện, thay vào đó, nó thêm dờng cong mới vào hệ trục hiện tại. Tuy nhiên nếu nh− dữ liệu không phù hợp với hệ trục toạ độ cũ, thì trục đ−ợc chia lại . Thiết lập hold offhold offhold offhold off sẽ bỏ đi cửa sổ figurefigurefigurefigure hiện tại và thay vào bằng một đồ thị mới. Lệnh holdholdholdhold mà không có đối số sẽ bật tắt chức năng của chế độ thiết lập holdholdholdhold trước đó. Trở lại với ví dụ trước:

>> x = linspace(0,2*pi,30);

>> y = sin(x);

>> z = cos(x);

>> plot(x,y)

H×nh 17.14 H×nh 17.14 H×nh 17.14 H×nh 17.14

Bây giờ giữ nguyên đồ thị và thêm vào đường cosine

>> hold on %Giữ nguyên đồ thị đã vẽ lúc trước

>> ishold % hàm logic này trả về giá trị 1 (true) nếu hold ở trạng thái ON ans =

1

>> plot(x,z,'m')

>> hold off

>> ishold % hold bây giờ không còn ở trạng thái ON nữa.

ans = 0

Chú ý rằng để kiểm tra trạng thái của holdholdholdhold ta có thể dùng hàm isholdisholdisholdishold .

H×nh 17.15 H×nh 17.15 H×nh 17.15 H×nh 17.15

Nếu bạn muốn hai hay nhiều đồ thị ở các cửa sổ figurefigurefigurefigure khác nhau, hãy dùng lệnh figure

figure figure

figure trong cửa sổ lệnh hoặc chọn new figurenew figurenew figurenew figure từ bảng chọn file, file, file, file, figurefigurefigurefigure không có tham số sẽ tạo một figurefigurefigurefigure mới. Bạn có thể chọn kiểu figurefigurefigurefigure bằng cách dùng chuột hoặc dùng lệnh figure(n)

figure(n) figure(n)

figure(n) trong đó n là số cửa sổ hoạt hoạt động.

Mặt khác một cửa sổ figurefigurefigure có thể chứa nhiều hơn một hệ trục. Lệnh figure subplot(m,n,p)subplot(m,n,p)subplot(m,n,p)subplot(m,n,p) chia cửa sổ hiện tại thành một ma trận mxn khoảng để vẽ đồ thị, và chọn p là cửa sổ hoạt

động. Các đồ thị thành phần được đánh số từ trái qua phải, từ trên xuống dưới, sau đó đến hàng thứ hai .v.v. . . Ví dụ:

>> x = linspace(0,2*pi,30);

>> y = sin(x);

>> z = cos(x);

>> a = 2*sin(x).*cos(x);

>> b = sin(x)./(cos(x)+eps);

>> subplot(2,2,1) % pick the upper left of % 2 by 2 grid of subplots

>> plot(x,y),axis([0 2*pi -1 1]),title('sin(x)')

>> subplot(2,2,2) % pick the upper right of the 4 subplots

>> plot(x,z),axis([0 2*pi -1 1]),title('cos(x)')

>> plot(x,z),axis([0 2*pi -1 1]),title('cos(x)')

>> subplot(2,2,3)% pick the lowwer left of the 4 subplots

>> plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)')

>> subplot(2,2,4)%pick the lowwer right of the 4 subplots

>> plot(x,b),axis([0 2*pi -20 20]),title('sin(x)/cos(x)')

H×nh 17.6 H×nh 17.6 H×nh 17.6 H×nh 17.6 17.8 Một số đặc điểm khác

17.8 Một số đặc điểm khác 17.8 Một số đặc điểm khác

17.8 Một số đặc điểm khác của đồ thị trong hệ toạ độ phẳng của đồ thị trong hệ toạ độ phẳng của đồ thị trong hệ toạ độ phẳng của đồ thị trong hệ toạ độ phẳng

• loglogloglogloglogloglog t−ơng tự nh− plotplotplotplot ngoại trừ thang chia là logarithm logarithm logarithm logarithm cho cả hai trục.

• semilogxsemilogxsemilogxsemilogx t−ơng tự nh− plot plot plot plot ngoại trừ thang chia của trục x là logarithm logarithm logarithm logarithm còn thang chia trục y là tuyến tính.

• semologysemologysemologysemology t−ơng tự nh− plotplotplotplot ngoại trừ thang chia của trục y là logarithm logarithm logarithm logarithm, còn thang chia trục x là tuyến tính.

• area( x, y )area( x, y )area( x, y )area( x, y ) t−ơng tự nh− plot (x,y)plot (x,y)plot (x,y)plot (x,y) ngoại trừ khoảng cách giữa 0 và y đ−ợc điền đầy, giá

trị cơ bản y có thể đ−ợc khai báo, nh−ng mặc định thì không.

• Sơ đồ hình múi tiêu chuẩn đ−ợc tạo thành từ lệnh pie(a, b)pie(a, b)pie(a, b)pie(a, b), trong đó a là một vector giá

trị và b là một vector logic tuỳ chọn. Ví dụ:

>> a = [.5 1 1.6 1.2 .8 2.1];

>> pie(a,a==max(a));

>> title('Example Pie Chart')

H×nh 17.7

H×nh 17.7 H×nh 17.7 H×nh 17.7

• Một cách khác để quan sát dữ liệu đó là biêu đồ ParetoParetoParetoPareto, trong đó các giá trị trong các vector đ−ợc vẽ thành một khối chữ nhật. Ví dụ dùng vector a đã nói ở trên:

>> pareto(a);

>> title('Example Pareto Chart')

H×nh 17.18 H×nh 17.18 H×nh 17.18 H×nh 17.18

• Đôi khi bạn muốn vẽ hai hàm khác nhau trên cùng một hệ trục mà lại sử dụng thang chia khác nhau, plotyyplotyyplotyyplotyy có thể làm điều đó cho bạn:

>> x = -2*pi:pi/10:2*pi;

>> y = sin(x);z = 2*cos(x);

>> subplot(2,1,1),plot(x,y,x,z),

>> title('Two Plots on the same scale');

>> subplot(2,1,2),plotyy(x,y,x,z)

>> title('Two plots on difference scale.');

H×nh 17.19 H×nh 17.19 H×nh 17.19 H×nh 17.19

• Đồ thị bar bar bar bar và stair stair stair có thể sinh ra bởi việc dùng lệnh stair barbarbarbar, bar3bar3bar3bar3, barhbarhbarhbarh và stairsstairsstairsstairs. D−ới đây là vÝ dô:

>> x = -2.9:0.2:2.9;

>> y = exp(-x.*x);

>> subplot(2,2,1)

>> bar(x,y)

>> title('Bar chart of bell Curve')

>> subplot(2,2,2)

>> bar3(x,y)

>> title('3-D Bar Chart of a Bell Cuve')

>> subplot(2,2,3)

>> stairs(x,y)

>> title('Stair Chart of a Bell Curve')

>> subplot(2,2,4)

>> barh(x,y)

>> title('Horizontal Bar Chart')

H×nh 17.20 H×nh 17.20 H×nh 17.20 H×nh 17.20

• rose(V)rose(V)rose(V)rose(V) vẽ một biểu đồ trong toạ độ cực cho các góc trong vector v, tương tự ta cũng có các

lệnh rose(v,n)rose(v,n)rose(v,n)rose(v,n) và rose(v,x)rose(v,x)rose(v,x)rose(v,x) trong đó x là một vector. Dưới đây là một ví dụ:

>> v = randn(100,1)*pi;

>> rose(v)

>> title('Angle Histogram of Random Angle')

H×nh 17.21 H×nh 17.21 H×nh 17.21 H×nh 17.21

---oOo---

Một phần của tài liệu Tài liệu MatLab (Trang 125 - 138)

Tải bản đầy đủ (PDF)

(215 trang)