MATLAB之數據分析圖系列:從二維到三維(直接套用)

MATLAB以其強大的矩陣運算和可視化功能,成為科研、工程領域的標配工具。本文提供從基礎二維圖形到復雜三維模型的即用代碼塊,涵蓋數據標注、多圖排版、動態演示等核心技巧

所有代碼均經過MATLAB 2023a實測,替換數據即可生成專業級圖表。

一、二維圖形

1. 帶誤差帶的折線圖
% 數據準備?
x =?1:10;?
y = rand(1,10)*5;?err =?0.2?+ rand(1,10)*0.5;?
% 繪制誤差折線圖?
errorbar(x, y, err,?'o-',?'LineWidth',?1.5,?'Color', [0.2?0.4?0.8])?
title('帶誤差帶的實驗數據','FontSize',12)?
xlabel('時間 (s)','FontWeight','bold')?
ylabel('電壓 (V)')?
grid?on?
set(gca,?'FontName',?'Arial') ?% 設置字體
2. 多數據對比柱狀圖
data?= [43?64?29;?52?54?49;?30?46?39]; %?3組x3類別?
categories = {'A組',?'B組',?'C組'};??
% 分組柱狀圖?
bar(data,?'grouped')?
set(gca,?'XTickLabel', categories)?
legend({'對照組','實驗組1','實驗組2'},?'Location',?'northwest')?
ylabel('響應值')?% 添加數值標簽
for?i =?1:size(data,1)?? ?text(i-0.3,?data(i,1)+2, num2str(data(i,1)),?'FontSize',10)
end

二、進階二維技巧

3. 子圖自動排版(適合多圖對比)
figure('Position', [100?100?800?600]) ?
% 設置畫布尺寸?
tiledlayout(2,2,?'Padding',?'compact') ?% 創建2x2子圖?% 
子圖1:散點圖?
nexttile?scatter(randn(100,1), randn(100,1),?'filled',?'MarkerFaceAlpha',0.6)?
title('隨機散點分布')?
% 子圖2:餅圖?
nexttile pie([28?17?35], {'正常','警告','故障'})?
% 子圖3:階梯圖?
nexttile?stairs(1:24,?rand(24,1)*50,?'LineWidth',1.2)?
% 子圖4:極坐標圖?
nexttile theta = linspace(0,?2*pi,?50);?polarplot(theta,?2*sin(5*theta),?'m--')
4. 動態數據實時更新
h?= animatedline('Color','r','LineWidth',w);?
axis([0?10?-5?5])?
xlabel('時間')ylabel('信號強度')
for?k =?1:100? ? addpoints(h, k/10, sin(k/2)+0.1*randn())? ?drawnow limitrate ?% 高性能實時刷新?
end

三、三維圖形實戰

5. 三維曲線(軌跡可視化)
t?=?linspace(0,?10*pi,?500);?
x?=?exp(-0.1*t).*sin(t);?
y?=?exp(-0.1*t).*cos(t);?
z?=?t/5;?plot3(x, y, z,?'LineWidth',?2)?
view(45,30) ?%?調整視角?
xlabel('X軸'), ylabel('Y軸'), zlabel('Z軸')?
grid?on?
box?on??%?顯示邊框
6. 三維曲面+等高線
% 此腳本用于生成三維數據并繪制三維曲面圖及其等高線投影圖% 生成網格數據
% 創建X和Y方向的網格點,范圍從 -3 到 3,間隔為 0.2
[X, Y] = meshgrid(-3:0.2:3);
% 根據X和Y計算Z值,使用函數 Z = X * exp(-X^2 - Y^2)
Z = X .* exp(-X.^2 - Y.^2);% 創建一個包含2行1列的子圖布局
% 繪制三維曲面圖
subplot(2, 1, 1);
% 繪制三維曲面,不顯示邊緣顏色
surf(X, Y, Z, 'EdgeColor', 'none');
% 設置顏色映射為 Turbo 色譜
colormap(turbo);
% 添加顏色條以顯示顏色與數值的對應關系
colorbar;
% 設置子圖標題
title('三維曲面圖');% 疊加等高線投影圖
subplot(2, 1, 2);
% 繪制填充的等高線圖,設置等高線數量為 20,并顯示等高線數值
contourf(X, Y, Z, 20, 'ShowText', 'on');
% 設置坐標軸比例相等,使圖形不失真
axis equal;
% 設置子圖標題
title('等高線投影圖');
7. 三維柱狀圖
% 此腳本用于生成3組三維坐標數據并繪制三維柱狀圖% 生成三維坐標數據
% 生成X坐標矩陣,將向量1到5重復5次形成5行5列的矩陣
x = repmat(1:5, 5, 1); 
% 生成Y坐標矩陣,為X的轉置矩陣
y = x'; 
% 生成Z坐標矩陣,為5行5列的隨機矩陣,元素范圍在0到10之間
z = rand(5, 5) * 10; % 創建一個新的圖形窗口
figure;% 繪制三維柱狀圖
bar3(z);% 添加坐標軸標簽
xlabel('X類別');
ylabel('Y類別');
zlabel('測量值');% 設置X軸刻度標簽
set(gca, 'XTickLabel', {'A', 'B', 'C', 'D', 'E'});% 調整視角
view(-30, 30);    

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

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

相關文章

HTTP響應數據包全面解析:結構、原理與最佳實踐

目錄 HTTP響應概述 HTTP響應數據包結構 2.1 狀態行 2.2 響應頭 2.3 空行 2.4 響應體 HTTP狀態碼詳解 3.1 1xx信息響應 3.2 2xx成功響應 3.3 3xx重定向 3.4 4xx客戶端錯誤 3.5 5xx服務器錯誤 常見HTTP響應頭字段 響應體內容類型 緩存控制機制 實際HTTP響應示例分…

H.264編碼解析與C++實現詳解

一、H.264編碼核心概念 1.1 分層編碼結構 H.264采用分層設計,包含視頻編碼層(VCL)和網絡抽象層(NAL)。VCL處理核心編碼任務,NAL負責封裝網絡傳輸數據。 1.2 NALU單元結構 // NAL單元頭部結構示例 struc…

快速入手-基于Django-rest-framework的自身組件權限認證(九)

1、在對應的視圖函數里增加認證(局部起作用,不全局生效) 導入類: from rest_framework.authentication import ( BasicAuthentication, SessionAuthentication, ) from rest_framework.permissions import IsAuthentica…

受控組件和非受控組件的區別

在 React 中,?受控組件(Controlled Components)? 和 ?非受控組件(Uncontrolled Components)? 是處理表單元素的兩種不同方式,它們的核心區別在于 ?數據管理的方式 和 ?與 React 的交互模式。 受控組件…

邁向云原生:理想汽車 OLAP 引擎變革之路

在如今數據驅動的時代,高效的分析引擎對企業至關重要。理想汽車作為智能電動汽車的領軍企業,面臨著海量數據分析的挑戰。本文將展開介紹理想汽車 OLAP 引擎從存算一體向云原生架構演進的變革歷程,以及在此過程中面臨的挑戰,以及是…

ZLMediaKit 源碼分析——[3] ZLToolKit 中EventPoller之網絡事件處理

系列文章目錄 第一篇 基于SRS 的 WebRTC 環境搭建 第二篇 基于SRS 實現RTSP接入與WebRTC播放 第三篇 centos下基于ZLMediaKit 的WebRTC 環境搭建 第四篇 WebRTC學習一:獲取音頻和視頻設備 第五篇 WebRTC學習二:WebRTC音視頻數據采集 第六篇 WebRTC學習三…

【分布式】分布式限流方案解析

文章目錄 固定窗口限流方案?實現方式?優點?缺點? 滑動窗口限流方案?實現方式?優點?缺點? 令牌桶限流方案?實現方式?優點?缺點? 漏斗限流方案?實現方式?優點?缺點? 在分布式系統蓬勃發展的當下,系統面臨的流量挑戰日益復雜。為確保系統在高并發場景下…

WPS JS宏編程教程(從基礎到進階)-- 第三部分:JS宏編程語言開發基礎

第三部分:JS宏編程語言開發基礎 @[TOC](第三部分:JS宏編程語言開發基礎)**第三部分:JS宏編程語言開發基礎**1. 變量與數據類型**變量聲明:三種方式****示例代碼****數據類型判斷****實戰:動態處理單元格類型**2. 運算符全解析**算術運算符****易錯點:字符串拼接 vs 數值相…

Python - 爬蟲-網頁抓取數據-庫urllib

urllib庫是Python內置的HTTP請求庫。無需額外安裝,可以直接使用。urllib庫包含以下四個模塊。 urllib.request - 打開和讀取 URL。urllib.error - 包含 urllib.request 拋出的異常。urllib.parse - 解析 URL。urllib.robotparser - 解析 robots.txt 文件。 1、reque…

C++進階知識復習 1~15

C 進階總復習 (1~15) 目的1. 介紹下程序從編寫到可執行的整個過程2. C中的auto和decltype的區別3. 介紹下多態的實現原理4. C中的new[] 和delete[] 為什么一定要配對使用?5. C中malloc申請的內存 可以使用delete釋放嘛6. 什么情況下會出現內存…

輸電線路航空標志球:低空飛行的安全路標 / 恒峰智慧科技

在現代社會,隨著航空業的快速發展,低空飛行活動日益頻繁。為了確保飛行安全,避免飛機與高壓電線等障礙物發生碰撞,輸電線路航空標志球應運而生。這種裝置被廣泛應用于高壓輸電線路上,尤其是超高壓和跨江輸電線&#xf…

Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件詳解

Debian/Ubuntu的networking的/etc/network/interfaces配置文件詳解 Debian/Ubuntu 的 /etc/network/interfaces 配置文件詳解 在 Debian/Ubuntu 系統中,/etc/network/interfaces 是傳統網絡接口配置文件,用于定義網絡接口的靜態/動態配置。以下是逐項解…

OpenCV 圖形API(或稱G-API)(1)

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 引言 OpenCV 圖形API(或稱G-API)是一個新的OpenCV模塊,旨在使常規圖像處理更快且更便攜。通過引入一種新的基于圖的執行…

Leetcode 3505. Minimum Operations to Make Elements Within K Subarrays Equal

Leetcode 3505. Minimum Operations to Make Elements Within K Subarrays Equal 1. 解題思路2. 代碼實現 題目鏈接:3505. Minimum Operations to Make Elements Within K Subarrays Equal 1. 解題思路 這一題大的思路上不難想到就是一個動態規劃的思路。我們分別…

win10之mysql server 8.0.41安裝

一 mysql server 下載 官網下載地址頁面 https://dev.mysql.com/downloads/mysql/二 免裝版使用步驟 1 解壓 下載完成后,解壓文件夾,如下所示: 2 執行安裝命令 D:\soft\mysql\mysql-8.0.41-winx64\mysql-8.0.41-winx64\bin>mysqld --install Service successfully in…

第十二屆藍橋杯省賽軟件類(cc++組)

第一題&#xff08;空間&#xff09; 解題思路 答案 #include <stdio.h>int main() {// 計算256MB對應的字節數&#xff0c;1MB 1024KB&#xff0c;1KB 1024Blong long total_bytes 256 * 1024 * 1024; // 每個32位二進制整數占4個字節&#xff08;32 / 8 4&#xf…

C++ 新特性 | C++ 11 | 移動語義

文章目錄 一、移動語義1、為什么需要移動語義&#xff1f;2、怎么“偷”&#xff1f;——右值引用&#xff08;&&&#xff09;3、如何實現移動語義&#xff1f;——移動構造函數/賦值4、什么時候觸發移動&#xff1f;5、移動 vs 拷貝 一、移動語義 1、為什么需要移動語…

wsl下ubuntu安裝寶塔

在 WSL (Windows Subsystem for Linux) 下的 Ubuntu 中安裝寶塔面板的步驟如下&#xff1a; 1. 確保 WSL 環境正常 已安裝 WSL 2 并啟用 Ubuntu 發行版&#xff08;推薦 Ubuntu 20.04/22.04&#xff09;。 在 PowerShell 中檢查 WSL 版本&#xff1a; wsl --list --verbose 如…

UDP網絡通信

UDP網絡通信&#xff1a; 步驟1 創建套接字&#xff1a; #include <sys/types.h> #include <sys/socket.h>int socket(int domain, int type, int protocol);參數一 domain&#xff1a; AF_UNIX Local communication unix(7) 本地通信 AF_INET IPv4 Inte…

教你快速理解linux中的NUMA節點探測是干什么用的?

想象一個大城市被劃分成幾個區&#xff08;比如東區、西區&#xff09;。每個區有自己的超市&#xff08;內存&#xff09;&#xff0c;居民&#xff08;CPU&#xff09;去本區的超市買東西最快&#xff0c;去其他區的超市會慢一些。 NUMA節點探測&#xff0c;就是Linux系統在…