Matlab進階繪圖第63期—帶標記線的三維填充折線圖

三維填充折線圖是在三維折線圖的基礎上,對其與XOY平面之間的部分進行顏色填充,從而能夠更好地刻畫細節變化

而帶標記線的三維填充折線圖是在其基礎上,添加X相同的一條或多條標記線,以用于進一步討論分析。

由于Matlab中未收錄帶標記線的三維填充折線圖的繪制函數,因此需要大家自行設法解決

本文使用自制的FilledPlot3withline小工具進行三維填充折線圖的繪制,先來看一下成品效果:

特別提示:本期內容『數據+代碼』已上傳資源群中,加群的朋友請自行下載。有需要的朋友可以關注同名公號【阿昆的科研日常】,后臺回復關鍵詞【全家桶】查看加入方式


1. 數據準備

此部分主要是讀取原始數據,并初始化繪圖參數

% 讀取數據load data.mat% 初始化繪圖參數xx = X;zz = Z;idx = [10 20 30]; % 標記線位置

2. 顏色定義

作圖不配色就好比做菜不放鹽,總讓人感覺少些味道。

但顏色搭配比較考驗個人審美,需要多加嘗試。

這里直接使用TheColor配色工具中的SCI權威配色庫

%% 顏色定義map = TheColor('sci',2068,'map',size(zz,2));% map = flipud(map);

3. 帶標記線的三維填充折線圖繪制

調用‘FilledPlot3withline’函數,繪制初始帶標記線的三維填充折線圖

[p,l] = FilledPlot3withLine(xx,zz,map,0.8,0.6,idx);hTitle = title('Extracted Spectra Subset');hXLabel = xlabel('Mass/Charge (M/Z)');hYLabel = ylabel('Samples');hZLabel = zlabel('Ion Spectra');view(-36,39)

4. 細節優化

為了插圖的美觀,對坐標軸細節等進行美化

% 坐標區調整% Y刻度標簽定義temp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';ylbs = sprintfc('Samp %c',temp(1:5));set(gca, 'Box', 'on', ...                                 % 邊框         'LineWidth',1,...                                % 線寬         'XGrid', 'on', 'YGrid', 'on', 'ZGrid', 'on',...  % 網格         'TickDir', 'out', 'TickLength', [.015 .015])     % 刻度% 坐標刻度調整set(gca, 'ytick',0:5,...         'ylim',[-0.5 4.5],...         'yticklabels',ylbs,...         'zlim',[0 1.5])% 字體和字號set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hXLabel, hYLabel,hZLabel], 'FontSize', 11, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 背景顏色set(gcf,'Color',[1 1 1])

設置完畢后,以期刊所需分辨率、格式輸出圖片。

%% 圖片輸出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0?0?figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

以上。

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

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

相關文章

飛睿智能UWB Tag藍牙防丟器標簽,寵物安全新升級,5cm精準定位測距不迷路

寵物早已成為許多家庭不可或缺的一員,它們用無條件的愛溫暖著我們的心房,陪伴我們度過每一個平凡而溫馨的日子。然而,隨著寵物活動范圍的擴大和外界環境的復雜多變,寵物走失的風險也隨之增加。每一次出門遛彎,都像是心…

【學術會議征稿】第六屆光電材料與器件國際學術會議(ICOMD 2024)

第六屆光電材料與器件國際學術會議(ICOMD 2024) 2024 6th International Conference on Optoelectronic Materials and Devices 第六屆光電材料與器件國際學術會議(ICOMD 2024)將于2024年11月1-3日在中國重慶召開。 大會面向基…

Windows與Ubuntu安裝ffmpeg

文章目錄 前言ffmpeg的簡介安裝ffmpegWindows下載設置環境變量 Ubuntu 總結 前言 FFmpeg是一款非常強大的開源音視頻處理工具,它包含了眾多的音視頻編解碼庫,可以用于音視頻的采集、編解碼、轉碼、流化、過濾和播放等復雜的處理。在Windows系統上安裝FF…

【Android14 ShellTransitions】(七)Transition就緒

Transition.onTransactionReady的內容比較長,我們挑重點的部分逐段分析(跳過的地方并非不重要,而是我柿子挑軟的捏)。 1 窗口繪制狀態的流轉以及顯示SurfaceControl 注意我們這里的SurfaceControl特指的是WindowSurfaceControll…

Laravel API資源全解析:打造高效響應的秘訣

Laravel API資源全解析:打造高效響應的秘訣 在構建RESTful API時,資源的表示和管理是核心部分。Laravel框架通過API資源(API Resources)提供了一種優雅的方式來格式化和轉換模型數據,以適應API的響應需求。本文將深入…

Flink底層原理解析:案例解析(第37天)

系列文章目錄 一、flink架構 二、Flink底層原理解析 三、Flink應用場景解析 四、fink入門案例解析 文章目錄 系列文章目錄前言一、flink架構1. 作業管理器(JobManager)2. 資源管理器(ResourceManager)3. 任務管理器(Ta…

Laravel的魔法面具:深入解析門面(Facades)的神秘力量

Laravel的魔法面具:深入解析門面(Facades)的神秘力量 在Laravel的世界中,門面(Facades)是一種將類靜態方法調用轉換為動態方法調用的機制。它們提供了一種優雅的方式來與底層的Laravel服務容器進行交互&am…

Baum-Welch算法,也被稱為前向-后向算法,是一種用于訓練隱馬爾可夫模型(Hidden Markov Model, HMM)的重要算法。

Baum-Welch算法詳解與Python代碼示例 一、算法詳解 Baum-Welch算法,也被稱為前向-后向算法,是一種用于訓練隱馬爾可夫模型(Hidden Markov Model, HMM)的重要算法。HMM是一種統計模型,用于描述一個含有隱含未知參數的…

Java中創建對象的幾種方式

Java中創建對象的幾種方式 1. 使用new關鍵字 這是最直接、最常見的創建對象的方式。通過new關鍵字,Java會調用類的構造函數(Constructor)來初始化新創建的對象。 ClassName obj new ClassName();2. 使用clone()方法 如果類實現了Cloneab…

JavaScript統計字符串中出現次數最多的字符

思路&#xff1a;使用charAt()方法可以通過for循環來依次遍歷出字符串中的字符 將遍歷出來的字符作為一個空對象的屬性 如果該對象中該屬性沒有值則對其賦值為1 如果該對象中已經有值了則在原基礎上加1 最后通過for in循環比較對象中個屬性值大大小然后將其打印出來 <!DOCT…

liunx面試題目

如何看當前Linux系統有幾顆物理CPU和每顆CPU的核數&#xff1f; 查看物理cup&#xff1a; cat /proc/cpuinfo|grep -c ‘physical id’ 查看每顆cup核數 cat /proc/cpuinfo|grep -c ‘processor’ 若希望自動實現軟件包的更新&#xff0c;可以使用yum-cron并啟動該服務 yum -y …

網絡請求之urllib.request的使用(Get方式)

urllib.request用于打開和讀取url&#xff0c;模擬瀏覽器發送一個http請求&#xff0c;并獲取響應結果。 urllib.request.urlopen的語法格式&#xff1a; urlopen(url,dataNone,[timeout,]*,cafileNone,capathNone,cadefaultFalse,contextNone) 參數說明&#xff1a; url url…

C++ std::lock_guard和 std::unique_lock

二者都是 C 標準庫中用于管理互斥鎖&#xff08;mutex&#xff09;的 RAII&#xff08;Resource Acquisition Is Initialization&#xff09;機制的類。這些類可以確保互斥鎖在構造時被獲取&#xff0c;在析構時被釋放&#xff0c;從而避免死鎖和資源泄漏問題。不過&#xff0c…

Python基礎語法篇(上)

Python基礎語法&#xff08;上&#xff09; 一、基知二、基本數據類型&#xff08;一&#xff09;標準數據類型&#xff08;二&#xff09;數據類型轉換 三、字符串基本操作&#xff08;一&#xff09;字符串的索引和切片&#xff08;二&#xff09;字符串的拼接 三、運算符四、…

web安全之跨站腳本攻擊xss

定義: 后果 比如黑客可以通過惡意代碼,拿到用戶的cookie就可以去登陸了 分類 存儲型 攻擊者把惡意腳本存儲在目標網站的數據庫中(沒有過濾直接保存)&#xff0c;當用戶訪問這個頁面時&#xff0c;惡意腳本會從數據庫中被讀取并在用戶瀏覽器中執行。比如在那些允許用戶評論的…

【Karapathy大神build-nanogpt】Take Away Notes

B站翻譯LINK Personal Note Andrej rebuild gpt2 in pytorch. Take Away Points Before entereing serious training, he use Shakespear’s work as a small debugging datset to see if a model can overfit. Overfitging is a should thing.If we use TF32 or BF32, (by…

Ansys Zemax|探索OS中的物理光學傳播

概述 物理光學傳播 (Physical Optics Propagation, POP) 分析是OpticStudio序列模式中的一個強大的分析工具&#xff0c;它可以用來分析光束的傳播和光纖耦合的效率。這篇文章旨在介紹這一分析工具的功能&#xff0c;并向您展示一些具體的應用示例。本文同時為您介紹了如何使用…

有關電力電子技術的一些相關仿真和分析:⑦三相橋式電壓型PWM逆變器與直接/間接法控制單相全橋結構PWM整流器(MATLAB/Siumlink仿真)

1.1 題目一要求 以三相橋式電壓型PWM逆變器為對象,研究其在不同調制度下,輸出電壓的頻譜成分變化,依據仿真波形分析其工作時序。 參數要求:三相橋式逆變電路,直流側電壓800V,調制波頻率50HZ,開關頻率10kHZ,阻感負載R=10Ω,L=5mH。 1.2 題目二要求 以單相全橋結構P…

高效接入電商訂單API,掌握這些技巧輕松實現

受全渠道大趨勢的影響&#xff0c;很多實體商家紛紛開展電商業務&#xff0c;為了提升業務管理效率&#xff0c;想要在原有管理系統的基礎上通過接入電商訂單API接口&#xff0c;方便將線上線下的訂單進行統一管理&#xff0c;但各個電商平臺的電商訂單API接口那么多&#xff0…

allure_pytest:AttributeError: ‘str‘ object has no attribute ‘iter_parents‘

踩坑記錄 問題描述&#xff1a; 接口自動化測試時出現報錯&#xff0c;報錯文件是allure_pytest庫 問題分析&#xff1a; 自動化測試框架是比較成熟的代碼&#xff0c;報錯也不是自己寫的文件&#xff0c;而是第三方庫&#xff0c;首先推測是allure_pytest和某些庫有版本不兼…