【Matlab】你想知道在图表标题中显示变量的一切
1.Introduction
有時(shí)在利用Matlab輸出結(jié)果時(shí),會(huì)通過作圖(Figure),和做表(Excel)來完成。并且經(jīng)常需要在標(biāo)題中顯示一些變量,比如下圖,那么這是怎么實(shí)現(xiàn)的呢?能不能顯示數(shù)組呢?
2.Materials and methods
不難發(fā)現(xiàn),所謂標(biāo)題其實(shí)是一個(gè) 字符串,其中有字母也有數(shù)字。那我們只需要把字母和數(shù)字拼接在一起就好了,下面試一下:
a = ['abc','d',num2str(56),'g',num2str([1,2])] b = strcat('abc','d',num2str(56),'g',num2str([1,2]))
可以看到使用 strcat 函數(shù),和使用 [ ] 進(jìn)行拼接效果是一樣的,其中數(shù)值型變量需要通過 num2str 轉(zhuǎn)化為字符型。
在使用 num2str 函數(shù)時(shí),如果是輸入數(shù)值是行向量的話,輸出是一個(gè)字符串,其中每兩個(gè)字符之間會(huì)有兩個(gè)空格;如果是列向量的話,每個(gè)數(shù)值轉(zhuǎn)化成單獨(dú)的字符;如果是矩陣的話,同理。具體看下面輸出吧:
所以如果你要拼接的數(shù)值變量的列數(shù)>1的話,就不能用 [ ] 進(jìn)行拼接,此時(shí)采用 strcat 的話,會(huì)生成多個(gè)字符串(每行一個(gè)),如下圖:
好了,基礎(chǔ)知識(shí)鋪墊完畢(廢話說完了),圓規(guī)正傳,生成圖表標(biāo)題:
3. Results and discussion
看看結(jié)果~
這里注意,在生成表標(biāo)題時(shí),要把字符型轉(zhuǎn)為 元胞型!也就是 {a},不然寫入Excel時(shí),字符串中的每個(gè)字符都會(huì)單獨(dú)占一個(gè)單元格。
但是,當(dāng)我們真的需要 二維數(shù)組結(jié)合字母 顯示到標(biāo)題,怎么辦呢?
首先還是生成字符串,用上面講的 strcat,然后再放到圖表標(biāo)題上,代碼如下:
a = strcat('abc','d',num2str(56),'g',num2str([1;2])) title(a) xlswrite('a.xlsx',cellstr(a))可以看到,圖和表標(biāo)題均成功顯示。這里注意,將字符型轉(zhuǎn)元胞型時(shí),如果是字符型矩陣的話,需要通過函數(shù) cellstr 來實(shí)現(xiàn),不能像上面直接加中括號(hào)了,即 {a} 。
廢了這么大勁,好像實(shí)現(xiàn)的功能有點(diǎn)雞肋~ 下面放一個(gè)我曾經(jīng)用過的圖標(biāo)題展示方案吧,圖標(biāo)題換行+矩陣顯示,應(yīng)該還是有用的:
a = {['第一行',num2str(1)],['第二行',num2str(2)],num2str([1,2;3,4])} title(a)
換行方式,如上面的代碼所示,即 { [ ] , [ ] },其中,數(shù)值矩陣轉(zhuǎn)為字符型后直接顯示原格式,有幾行就顯示幾行,不用手動(dòng)換行。
4. Conclusion
以前每次寫圖表標(biāo)題時(shí),都要重新查一下語法。這次總結(jié)后,以后應(yīng)該再也不用面向百度編程了。
誒?我以后好像也不怎么用Matlab了。
猜你喜歡:👇🏻
?【Matlab】定義順序增加的字符串?dāng)?shù)組(A1,A2 … An)并寫到Excel的第一行
?【Matlab】parfor并行運(yùn)算如何顯示進(jìn)度條?
?【Matlab】如何把數(shù)組矩陣寫入txt文件?并用逗號(hào)或空格隔開
總結(jié)
以上是生活随笔為你收集整理的【Matlab】你想知道在图表标题中显示变量的一切的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易混淆知识点(3):b和strong的真
- 下一篇: 树莓派vnc用法 linux,怎样使用V