APPs(004)Matlab出圖真的丑嗎?(b)
- 所有代碼Matlab 2017a環境測試通過,大部分內容是2014b以後版本都能用,向前不確保兼容。
- 終於到了(b),模仿Matlab版本命名的,所以不會有(c),再有內容我就升級新標題了。
- 看到過百關注,加更一篇。
- 歡迎規範轉載。歡迎投稿。
本期
1,生二胎
2,多胞胎
3,有個泰國Axes
4,孩子長個了,穿戴風格不能變(OOP)。
5,有個表哥,patch
接上回,
基本流程有了,那就是修飾了。
這就回到爸爸,啊不,Axes的上面了。
1,生二胎
% 大家長nfig1 = figure;nfig1.Units = centimeters;nfig1.Position = [5,5,8,8];nnn% Axes這個代有兩人nax1 = axes(Parent,fig1);nax2 = axes(Parent,fig1);nn% ax1是老大,但是要在大家長的懷抱里nax1.Units = centimeters;nax1.Position = [1.2,1.2,6,6];nax1.Box =on;nn% ax2是老二,地位和ax1一樣,但是個頭小nax2.Units = centimeters;nax2.Position = [5,5,1.7,1.7];nax2.Box = on;nnplt1 = plot(ax1,[1:0.1:10],sin([1:0.1:10]),r--);nplt2 = plot(ax2,[4:0.1:6],sin([4:0.1:6]),r--);n
作用:局部放大畫圖,封裝上面的內容為函數,局部放大圖函數
2,多胞胎
% 有個只生多胞胎的家庭nfig2 = figure;nax1 = subplot(311);nax2 = subplot(312);nax3 = subplot(313);nnplt1 = plot(ax1,[1:1:5]);nplt2 = plot(ax2,[1:1:10]);nplt3 = plot(ax3,[1:1:20]);n% 心靈感應,x軸放大會變的一致,其它關鍵詞y,xy,offnlinkaxes([ax1,ax2,ax3],x);n
3,有個泰國Axes
fig3 = figure;nax1 = axes(fig3);nyyaxis(ax1,left);nplt1 = plot([1:1:10],2*[1:1:10]);nyyaxis(ax1,right);nplt2 = plot([1:1:10],200*[1:1:10]+100);n
4,孩子長個了,穿戴風格不能變(OOP)
爸爸這代不容易,說到下一代,啊不,Line這一類。
fig4 = figure;nax1 = axes(fig4);nax1.Box = on;nplt = plot(ax1,[1:1:10]);nplt.LineStyle = --;nplt.LineWidth = 2;nplt.Marker = square;nplt.MarkerFaceColor = none;nplt.MarkerSize = 4;nplt.XDatanplt.YDatan% 突然發現結果中plt的數據長大了,其它設置不變nnplt.XData = [1:1:20];nplt.YData = 2*[1:1:20] + 5;nn% 這個是以後寫GUI不卡的秘密,只更新數據,如果所有都更新,會有延遲感。nnans =nn 1 2 3 4 5 6 7 8 9 10nnnans =nn 1 2 3 4 5 6 7 8 9 10n
5,有個表哥,patch
有個巨煩的設定,annotation 不是axes的兒子,是Axes的表哥,我金庸大神是對的,表哥都不是好人
要命的標註箭頭,後來我用Patch偽裝了他爹,這裡就是個思路,不提供代碼了。重點數據區域塗色等都可以用這個擴展,fill函數就是這個類。
fig5 = figure;nax1 = axes(fig5);naxis off;nplt = plot(ax1,[0:0.1:1],0.5*ones(11,1),b-o);npat = patch(ax1,[0.4, 0.5, 0.5, 0.4], [0.4, 0.4, 0.6, 0.6], [1 0 0]);npat.FaceAlpha = 0.2; % 橫線說明透明,注釋後再運行看看?npat.EdgeColor = none;n
千圖萬圖,還有很多圖,知道這些技巧會有什麼好處?
當然是裝b啦,啊不,嚴肅的說,你做過GUI就明白了。哈哈哈哈。
推薦閱讀:
※matlab如何讀入混合變數格式的dat文件?
※有正整數1~10,出現的概率分布給定,如何利用MATLAB按照各數字出現的概率輸出一個數字?
※為什麼數學軟體要用自己的語言?
※怎麼鍛煉 MATLAB 編程能力?
※學術論文中用什麼軟體可以繪製這樣的圖?
TAG:MATLAB |