科研作圖之光譜圖繪製(matlab版)

2021-02-21 matlab愛好者

感謝關注matlab愛好者公眾號!如果公眾號文章對您有幫助,別忘了點擊分享和「在看」哦!若您對公眾號有什麼意見或建議,請在公眾號中回復或在任意文章底部留言!

之前給大家介紹過一期有關如何用origin繪製光譜圖(科研作圖之光譜圖繪製),有小夥伴在公眾號中回復希望能通過matlab作出這樣的光譜圖,本期就來介紹如何通過matlab實現光譜圖繪製。matlab繪製原理和origin繪製原理是一樣的,先繪製全範圍波長RGB圖,再在該圖上疊加實驗數據曲線。不過matlab繪製並沒有origin那麼容易,因為matlab中沒有直接將光波波長轉換成RGB值的函數,本期內容使用到了Jeff Mather開發的波長轉RGB值的程序。下面就一起來看看程序吧!
% 感謝關注matlab愛好者微信公眾號clc;clear;close all;% 加載數據,本數據來源於網絡data = importdata('data.dat');% 取最大最小值minX = floor(min(data(:,1)));maxX = ceil(max(data(:,1)));maxY = ceil(max(data(:,2)))+100;% N等分波長N = 1000;x = linspace(minX,maxX,N);% 設置強度的上下限yd = zeros(1,N);yu = maxY*ones(1,N);color = zeros(N,3);figure('Color','w');hold on;% 先繪製全波長範圍的RGB圖for m = 1:N    % 將波長轉換RGB值    color(m,:) = spectrumRGB(x(m))';    % 在對應波長處繪製相應RGB值的直線    plot([x(m);x(m)],[yd(m);yu(m)],'Color',color(m,:),'LineWidth',3.0);end% 添加實驗數據plot(data(:,1),data(:,2),'k','LineWidth',3.0);% 圖形相關設置xlim([minX maxX]);ylim([0 maxY]);xlabel('Wavelength (nm)');ylabel('Intensity');hold off;% 保存繪製的圖像filename = [pwd,'\','spectra'];print(filename,gcf,'-r300','-djpeg');

效果圖:

當然繪製思路和方法並不是只有本文中的這一種,方法千萬種,種種出高圖!有興趣的小夥伴留言寫下自己的繪製思路溫馨提示:在公眾號中回復「光譜」或「光譜圖」即可獲取本期內容相關數據和完整程序,切勿直接複製粘貼就運行程序哦!小夥伴們也可以通過參考資料的連結去下載Jeff Mather編寫的相關程序。https://ww2.mathworks.cn/matlabcentral/fileexchange/7021-spectral-and-xyz-color-functions

長期堅持創作不易,如果您喜歡這篇推文,煩請有空點個讚,以資鼓勵!喜歡就關注一下哦,謝謝!

感謝您的認可欣賞

相關焦點

  • 科研作圖之光譜圖繪製
    感謝大家關注matlab愛好者微信公眾號,今天給大家介紹如何繪製帶可見光光譜背景的光譜圖!!!
  • 怎樣把Materials studio能帶圖做得漂亮,用Matlab繪製呀!
    Materials Studio提供的能帶圖既呆板又難看,能不能把能帶圖畫漂亮點呢?
  • Graphpad 作圖教程|手把手教你繪製柱形圖
    今天給大家介紹 GraphPad Prism 如何繪製柱狀圖。現在我們開始作圖:1.打開 graphpad 軟體,選擇 column 模塊,按下圖進行選擇。2.鍵入數據,完善表格。每組數據量可以不一致。
  • 【科研作圖】AI快速畫出一個肝臟
    總結了一下,我發現繪製這麼一個肝臟,好像4個大步驟就能完成。繪圖期間只需要使用鉛筆工具、平滑工具、效果工具。鉛筆工具主要是用於繪製肝臟外形。最快捷的辦法就是在搜索一張肝臟的圖片,然後置入到AI中,用鉛筆工具順著外形去描繪勾勒肝臟外形。要點是儘量貼著慢慢勾勒好。
  • 作圖詳解 | 利用R繪製馬賽克圖
    如下圖所示,女性的倖存率高於男性,尤其是在頭等艙和2 nd艙,而在3rd艙中女性倖存比例遠低於其他艙的比例;兒童主要位於2nd艙及3rd艙,且1st艙、2nd艙的兒童幾乎均倖存。關注每個矩形的相對寬度和高度,可以發現更多有趣信息。本期公眾號介紹馬賽克圖的一種在專利數據可視化中的應用。下圖為採用百分比條形圖展示某領域不同國家的技術手段分布情況。
  • 送你「科研一條龍!實驗設計+實驗方法+作圖一個都不落!
    做科研,寫論文,最後的結果必定要經過數據統計,而在呈現的時候又要進行統計圖的製作。有沒有一個軟體,又能做數據統計,也能做出好看的數據圖呢?還真有,要說製作數據統計圖的性價比,非Graphpad Prism莫屬了。今天給大家贈送的就是從課題實驗設計到Western blot實驗技術再到GraphPad統計分析與製圖方法的「科研一條龍」講解視頻。
  • MATLAB R2020a中文破解版 附安裝破解教程
    該軟體常用於機器人、數據分析、無線通信、深度學習、信號處理、計算機視覺等眾多領域之中,深厚上百萬科學家和工程師的信賴,提供了科學數據可視化、矩陣計算、數值分析、繪製函數、數據圖像、實時編輯器等實用的功能於一體,能夠幫助設計人員更快更好的完成設計上的工作,還支持C、C++、Python編寫的程序接口,並能在上述程式語言中設計和構建用戶界面。
  • Python數據可視化實例之繪製圖表
    Python數據可視化實例之繪製圖表原創 蟲蟲安全 2018-09-05 17:41:57得利於語言的簡單明了、豐富的數據結構、豐富的類和模塊,Python如今成了數據科學中的香餑餑,成了matlab、R語言之外又一強大的數據分析工具。拋開其他方面的、今天蟲蟲帶大家一起來探索Python在數據可視化方面的應用。
  • R臨床科研作圖-4-色彩斑斕與黑白肅穆
    ● ● ● 今天忙裡偷閒介紹下作圖配色的問題,為什麼同樣圖自己畫的就是沒有雜誌出版的看起來上檔次
  • Origin繪製縮放圖
    「腦認知與睡眠」公眾號,主要關注大腦的學習認知,與睡眠相關的科研資訊與科普,同時搭建一個「腦認知與睡眠」研究方向的科研人員交流平臺~~
  • 俄用天文望遠鏡繪製宇宙圖
    【環球時報綜合報導】俄聯邦核中心全俄實驗物理科研院日前宣布,俄德「光譜-RG」天體物理太空天文臺ART-XC天文望遠鏡完成俄航天史上在硬X射線電磁輻射頻譜區的首次全天空觀測。這臺望遠鏡由俄羅斯科學院空間研究所和隸屬於俄原子能集團的俄聯邦核中心全俄實驗物理科研院共同設計並製造,是俄羅斯首臺反射式望遠鏡,在距地球150萬公裡的拉格朗日L2點附近的一條獨特軌道運行。重要發現此前只是軟X射線範圍內才有較清晰的全天空圖,由德國ROSAT天文臺於30年前繪製。
  • 俄用天文望遠鏡繪製宇宙圖
    來源:環球時報【環球時報綜合報導】俄聯邦核中心全俄實驗物理科研院日前宣布,俄德「光譜-RG」天體物理太空天文臺ART-XC天文望遠鏡完成俄航天史上在硬X射線電磁輻射頻譜區的首次全天空觀測。這臺望遠鏡由俄羅斯科學院空間研究所和隸屬於俄原子能集團的俄聯邦核中心全俄實驗物理科研院共同設計並製造,是俄羅斯首臺反射式望遠鏡,在距地球150萬公裡的拉格朗日L2點附近的一條獨特軌道運行。重要發現此前只是軟X射線範圍內才有較清晰的全天空圖,由德國ROSAT天文臺於30年前繪製。
  • 誤差分析指標計算之matlab實現
    感謝關注matlab愛好者公眾號!如果公眾號文章對您有幫助,別忘了點擊分享和「在看」哦!
  • PDCA循環圖怎麼畫?必備入門級圖形繪製軟體
    PDCA循環PDCA循環圖繪製方法PDCA循環圖的製作方法十分簡單,通過以下幾個步驟,即可輕鬆繪製出一幅專業實用的PDCA循環圖。第一步:點擊下載「億圖圖示」軟體,或訪問在線版億圖圖示。啟動軟體後,準備作圖啦!第二步:新建PDCA循環圖。在搜索欄中輸入「PDCA」進行查找。然後從眾多的例子中,選擇一個喜歡的模板,點擊打開PDCA循環圖模板。
  • 分子化學結構式的繪製
    當然國外非常有名的ChemDraw軟體可以做到,但軟體非常貴,今天給大家介紹一款完全免費的軟體——InDraw,完全可以用於教學、科研的作圖,還可以進行藥物設計。 InDraw 是Integle 公司(一家中國公司)開發的結構式編輯器,有網頁版和桌面客戶端兩種形式,公司宣稱永久免費。
  • 利用MATLAB繪製Bode圖-31
    在命令窗口中,通過簡單的指令,完成對於Bode圖的繪製。此時,可以看到如下圖所示,找到Select Plot中的New Bode,點擊以後,稍等片刻,即可繪製出Bode圖。當然,從這個選項中,我們可以看到,還可以繪製其他的圖形,例如New Step,New Nyquist,New Pole/Zero Map等,功能強大,使用方便。
  • 技術帖 | 用matlab代碼繪製漂亮的大腦激活圖 (2D版)
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 此程序用於繪製2D的激活結果圖以及ROI的呈現。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$ change the parameters accordingly 可以根據自己作圖的需要來更改相應的參數
  • MATLAB基礎教程-臺大郭彥甫-學習筆記6
    這裡屬性更加豐富,可以查看我們繪製的圖 line object 還有 點擊 坐標軸, 就會顯示axes的屬性信息。顯示警告,現在matlab不再支持symbol字體,那matlab如何在坐標軸上顯示希臘字母pi呢?
  • R語言作圖實例之qqplot
    小編上期分享了一種boxplot
  • 快速傅立葉變換FFT在MATLAB中的實現
    FFT結果的數據長度:時域N 個點,頻域為N/2+1個點;x 軸頻率點的設置:採樣頻率為Fs 時,頻譜圖的最高頻率為Fs/2(參照採樣定理)。繪製時域信號lear;clc;closealla=textread('C:\Users\Administrator\Desktop\matlab\FFT\TIME_X.txt'); %讀取時域數據y=a(:,2); %讀取時域數據Fs=6400; %採集頻率T=1/Fs; %採集時間間隔N=