Matlab(4)初階繪圖

一、Basic plotting

1.plot()

plot(x,y) :x圖片中點的橫坐標,y圖片中點的縱坐標

plot(y) :y圖片中點的縱坐標,x圖片中點的橫坐標默認為1,2,3,4,5........

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

y —縱坐標的范圍是0~2\pi,每個間隔\pi/ 20

2. hold on / off

① 無 hold on / off

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

只畫sin(x),不畫cos(x),因為sin(x)cos(x)的圖片覆蓋

② 有?hold on / off

hold on
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off

sin(x)cos(x)的圖像疊加

3. Plot Style

plot(x,y, ' str ')

hold on
plot(cos(0:pi/20:2*pi),'or--');
plot(sin(0:pi/20:2*pi),'xg:');
hold off

str 可以是以下三種類型,' str '里面填寫每列右邊一列

linsepec()可以查找更多

4. legend()

hold on
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,'or--',x,h,'xg:',x,w,'bd-',x,g,'c^-');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面兩條線可以聯合寫成下面這種形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
legend('sin(x)','cos(x)','Sigmoid','Gauss function');
hold off

5. title()and ?label()

title()、xlabel()、ylabel()、zlabel()

hold on
x = 0:0.5:4*pi;
y = sin(x); h = exp(-x); 
plot(x,y,'or--',x,h,'xg:');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面兩條線可以聯合寫成下面這種形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
title('Fuction Plots of sin(t) and e^{-x}');
xlabel('x =  0 to 4\pi');
ylabel('value of sin(x) and e^{-x}');
legend('sin(x)','e^{-x}');
hold off

在 圖片x軸,y軸和標題上顯示公式時需要 LaTex 語言

6. text()and annotation()

① line( [2,2] , [0,2^2^sin(2)] )

兩點確定一條直線,[ 2 , 2 ]兩點的橫坐標,[ 0?, 2^2^sin(2)?]兩點的縱坐標

② text(0.25,2.5,str,'Interpreter','latex');

圖片中顯示的標題使用LaTex語言

③ annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);
添加箭頭,箭頭的兩個點橫坐標分別占圖幅的0.32和0.5,縱坐標分別占圖幅的0.6和0.4

x = linspace(0,3);
y = x.^ 2.* sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin{x} dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);

7. Fiegure Adjustment

?set( gcf,' Color ',[1,1,1] )

gcf 是 Figure object 的句柄,設置Figure object 的顏色為黑色:'Color',[1,1,1]

x = linspace(0,2*pi,1000);
y = sin(x);
plot(x,y);
set(gcf,'Color',[1,1,1]);

8. Figure Properties

9. Handle? of An Object

figure 的句柄是關鍵字 gcf ,Axes 的句柄是 gca,

獲得Line句柄的語句是 h? = plot(x,y);

其他句柄列表如下

10. Fetching and Modifying Properties

得到設置屬性get()和設置屬性set()

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)  #得到Line(h)的句柄,可通過查看變量h來看
set(gcf,'Color',[1,1,1]);

二、Getting Object Properties

get(gca);get(gcf);h = plot(x,y),get(h)

1. Setting Axes Limits

set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);

XLim設置的是 x 軸的范圍 0 ~ 2\pi,YLim設置的是 y?軸的范圍 -1.2 ~ 1.2

或者也可以用下面這種寫法

xlim([0,2*pi]);
ylim([-1.2,1.2]);

2. Setting Font and Tick of Axes

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(gcf,'Color',[1,1,1]);
set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);
set(gca,'FontSize',25);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',0:90:360);
set(gca,'FontName','Latex');
set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

set(gca,'FontSize',25); 設置坐標軸字體大小為25

set(gca,'XTick',0:pi/2:2*pi);?設置坐標軸范圍是0~2\pi,間隔是\pi/2.

set(gca,'XTickLabel',0:90:360);?設置坐標軸等間隔下的表示數字

set(gca,'FontName','Latex');?設置坐標軸字體格式是Latex語言

set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});?設置坐標軸輸出內容 0 ~ 2\pi

3. Line Specification

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(h,'LineStyle','-.', ...'LineWidth',7.0,'Color','g');

set(h,'LineStyle','-.', 'LineWidth',7.0,'Color','g');

設置LineStyle是:' -. ' 虛實線

設置LineWidth是:0.7,虛實線的粗細是0.7

設置Color虛實線的顏色是:綠色

4. Maker Sepecifiction

坐標軸下面的字體大小 FontSize設置為18;
線寬LineWidth是2,圖形標記邊緣顏色MarkerEdgeColor是黑色,圖形標記內部顏色MarkerFaceColor是綠色,圖形標記MarkerSize的大小是10。

x = rand(20,1);
set(gca,'FontSize',18);
plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
xlim([1,20]);

practise

hold on
x = linspace(1,2);
f = x .* x;
g = sin(2 * pi .* x);
plot(x,f,'-k','LineWidth',2);
plot(x,g,'or','MarkerFaceColor','m');
xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment #1');
legend('t^{2}','sin(2\pit)');
hold off

5. Multiple Figures

figure,plot(x,y1);? 畫圖,該語句需要使用兩次,以免新畫的圖覆蓋原來畫的圖

x = -10:0.1:10;
y1 =  x .* 2 -8;
y2 = exp(x);
figure,plot(x,y1);
figure,plot(x,y2);

6. Figure Position and Size

figure(' Position ',[ left,bottom,width,height ] );

7. Several Plots in One Figure

subplot(m,n,1);

8. subplot()

t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2,2,1);plot(x,y);axis normal;
subplot(2,2,2);plot(x,y);axis square;
subplot(2,2,3);plot(x,y);axis equal;
subplot(2,2,4);plot(x,y);axis equal tight;

nomal 橫縱坐標軸的比例恢復默認的自動調整模式

square 畫出來的圖片是方形的;

equal 畫出來的圖片橫縱坐標比例是一樣的;

equal tight 畫出來的圖片是橫縱比例一樣,且無多余留白的;

9. Control of Grid,Box,and Axis

grid on/off 畫圖背景是否有表格

box on/off 畫圖背景圖片是否有邊框

axis on/off 畫圖背景是否有坐標軸

10. saving Figure into Files

saveas(gcf,'filename','jgp')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919212.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919212.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919212.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器硬件電路設計之 I2C 問答(五):I2C 總線數據傳輸方向如何確定、信號線上的串聯電阻有什么作用?

在服務器硬件電路設計中,I2C 總線作為常用的串行通信總線,其數據傳輸方向的確定和信號線上串聯電阻的作用是關鍵知識點。?I2C 總線數據傳輸方向由主設備和從設備的角色以及讀寫位共同確定。主設備是發起通信的一方,從設備則是被尋址的對象。…

OpenBMC中C++策略模式架構、原理與應用

1. 策略模式概述 策略模式(Strategy Pattern)是一種行為型設計模式,它允許在運行時動態選擇算法或行為,而無需修改客戶端代碼。 核心思想:封裝可互換的算法族,使它們可以獨立于使用它們的客戶端變化。 1.…

【python實用小腳本-187】Python一鍵批量改PDF文字:拖進來秒出新文件——再也不用Acrobat來回導

Python一鍵批量改PDF文字:拖進來秒出新文件——再也不用Acrobat來回導 PDF文字替換, 批量導出, 零依賴轉檔, 一鍵完成, 瑞士軍刀 故事開場:一把瑞士軍刀救了周五下班的你 周五 18:00,老板甩來 50 份合同 PDF: “把里面的‘2023’全…

汽車后霧燈色度難達標?OAS 軟件精準解決破瓶頸

汽車后霧燈案例分析簡介汽車后霧燈是車輛在能見度較低的霧、雨、雪等惡劣天氣條件下行駛時,向后方車輛傳遞警示信號的重要裝置,其性能直接關系到車輛的后方安全。根據規定,紅色信號燈需符合 CIE1931 標準,其色度坐標 X 值應在 0.6…

[系統架構設計師]架構設計專業知識(二)

[系統架構設計師]架構設計專業知識(二) 一.信息系統基礎知識 1.信息系統概述 信息系統功能:輸入,存儲,處理,輸出,控制 理查德.諾蘭: 初始,傳播,控制&#xff…

如果用ApiFox調用Kubernetes API,需要怎么設置證書?

針對Docker Desktop中Kubernetes訪問報SSL/TLS信任關系錯誤的問題,以下是綜合解決方案:要在Postman中調用Kubernetes API并設置證書,需按以下步驟操作:🔐 證書設置步驟?提取證書文件?從kubeconfig文件(~/…

nodejs 路由/請求

//導入模塊 const express require(express); //創建應用 const app express();//設置路由 app.get(/,(req,resp)>{//輸出響應console.log(request coming.............);resp.json(req.headers); });app.get(/user/:id, (req, res) > {const userId req.params.id; …

Python 數據可視化:柱狀圖/熱力圖繪制實例解析

Python 數據可視化:柱狀圖繪制實例解析 一、引言 數據可視化是數據分析中至關重要的環節,它能將復雜的數據以直觀的圖形方式呈現,幫助我們更好地理解數據特征和規律。Python 擁有豐富的可視化庫,其中 Matplotlib 是最常用的基礎庫…

API生命周期10階段

一、策略規劃(Strategy Planning) 核心任務:業務價值對齊、技術路線設計關鍵產出: API產品藍圖:定義業務領域邊界(如支付API域、用戶API域)治理規范:《API安全標準》《版本管理策略》…

UGUI源碼剖析(9):布局的實現——LayoutGroup的算法與實踐

UGUI源碼剖析(第九章):布局的實現——LayoutGroup的算法與實踐 在前一章中,我們剖析了LayoutRebuilder是如何調度布局重建的。現在,我們將深入到布局核心,去看看那些具體的組件——LayoutGroup系列組件是如…

GitHub PR 提交流程

step1 在 GitHub 上 fork 目標倉庫&#xff08;手動操作&#xff09; step2 將 fork 的目標倉庫克隆到本地 git clone https://github.com/<your-username>/<repo-name>.git cd <repo-name>step3 與上游目標倉庫建立鏈接 git remote add upstream https://gi…

礦物分類案列 (一)六種方法對數據的填充

目錄 礦物數據項目介紹&#xff1a; 數據問題與處理方案&#xff1a; 數據填充策略討論&#xff1a; 模型選擇與任務類型&#xff1a; 模型訓練計劃&#xff1a; 一.數據集填充 1.讀取數據 2.把標簽轉化為數值 3.把異常數據轉化為nan 4.數據Z標準化 5.劃分訓練集測試…

vue:vue3的方法torefs和方法toref

在 Vue 3 的 Composition API 中,toRef 和 toRefs 是兩個用于處理響應式數據的重要工具,它們專門用于從 reactive() 對象中提取屬性并保持響應性。 toRef() 作用:將 reactive 對象的單個屬性轉換為一個 ref 對象,保持與源屬性的響應式連接。 使用場景: 需要單獨提取 rea…

Android 移動端 UI 設計:前端常用設計原則總結

在 Android 移動端開發中&#xff0c;優秀的 UI 設計不僅需要視覺上的美觀&#xff0c;更需要符合用戶習慣、提升操作效率的設計邏輯。前端 UI 設計原則是指導開發者將功能需求轉化為優質用戶體驗的核心準則&#xff0c;這些原則貫穿于布局結構、交互反饋、視覺呈現等各個環節。…

計算機網絡 TCP三次握手、四次揮手超詳細流程【報文交換、狀態變化】

TCP&#xff08;傳輸控制協議&#xff09;是互聯網最重要的協議之一&#xff0c;它保證了數據的可靠、有序傳輸。連接建立時的“三次握手”和連接關閉時的“四次揮手”是其核心機制&#xff0c;涉及特定的報文交換和狀態變化。 一、TCP 三次握手&#xff08;Three-Way Handshak…

使用Applications Manager進行 Apache Solr 監控

Apache Solr 為一些對性能極為敏感的環境提供搜索支持&#xff1a;電子商務、企業應用、內容門戶和內部知識系統。因此&#xff0c;當出現延遲增加或結果不一致的情況時&#xff0c;用戶會立刻察覺。而當這些問題未被發現時&#xff0c;情況會迅速惡化。 Apache Solr 基于 Apa…

Shell腳本-for循環語法結構

一、前言在 Linux Shell 腳本編程中&#xff0c;for 循環 是最常用的控制結構之一&#xff0c;用于重復執行一段命令&#xff0c;特別適用于處理列表、文件、數字序列等場景。本文將詳細介紹 Shell 腳本中 for 循環的各種語法結構&#xff0c;包括&#xff1a;? 經典 for in 結…

記SpringBoot3.x + Thymeleaf 項目實現(MVC架構模式)

目錄 前言 一、創建SpringBoot項目 1. 創建項目 2. 運行項目 二、連接數據庫實現登錄 1. pom.xml文件引入依賴包 2. application.yml文件配置 3. 數據持久層&#xff0c;mybatis操作映射 4. Service接口及實現 5. Controller代碼 6. Thymeleaf頁面登錄 7. 運行項目…

Java 導出word 實現表格內插入圖表(柱狀圖、折線圖、餅狀圖)--可編輯數據

表格內插入圖表導出效果表格內圖表生成流程分析 核心問題與解決方案 問題 Word 圖表作為獨立對象&#xff0c;容易與文本分離位置難以精確控制&#xff0c;編輯時容易偏移缺乏與表格數據的關聯性 解決方案 直接嵌入&#xff1a;將圖表嵌入表格單元格&#xff0c;確保數據關聯精…

北京JAVA基礎面試30天打卡12

1.MySQL中count(*)、count(I)和count(字段名)有什么區別&#xff1f; 1**.COUNT ()**是效率最高的統計方式&#xff1a;COUNT()被優化為常量&#xff0c;直接統計表的所有記錄數&#xff0c;不依賴字段內容&#xff0c;開銷最低。推薦在統計整個表的記錄數時使用。 2.**COUNT(1…