日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab设置Legend横排、分块

發布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab设置Legend横排、分块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
高級用法1:指定legend顯示的位置: legend({'str1','str2','strn'},'Location','SouthEast'); 比較雞肋,畫好圖后樹手動拖動就好了 高級用法2:指定顯示某幾條曲線的legend: 例如你有25條曲線,想顯示其中1,6,11,16,21的legend H = plot(data); legend(H([1 6 11 16 21],'1,'6','11’,'16','21'); 高級用法3:legend橫排 hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21'); set(hl,'Orientation','horizon') 高級用法4:不顯示方框: hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21'); set(hl,'Box','off');

  查看這個的初衷是因為四條曲線的對比圖,但是有些曲線差別太大,比如A在[1.8,1.82],B在[0.9,1.1],CD曲線在中間這樣的話,因為A曲線的存在,中坐標最大值是1.82但是變化很不明顯,所以該曲線在圖的最上方,而且緊挨著圖的上邊界,因為圖例在右上方,這樣肯定會覆蓋曲線,所以想著橫排。

  但是這種方法也不好做好的事拆開。

  Matlab提供的legend函數,給出的legend經常覆蓋了某些曲線(尤其是用IEEE模板的時候,一般圖片寬度不超過315px).

a=linspace(0,2*pi,100); y1=100*sin(a); y2=50*cos(a); y3=tan(a); y4=log(a); y=[y1;y2;y3;y4]; figure p=plot(a,y) legend('sin','cos','tan','log')

  如下圖所示:


  Matlab畫圖實現兩個或多個legend,不同排版 ?  這顯然不是你想要的,你的reviewers也會肯定讓你修改的!

  原因是Matlab的Legend函數,只能水平或者豎直排版!

  解決方法:把legend分成幾個,相對獨立,這樣可以使用鼠標隨意移動,確保不遮擋曲線。

  結果如下圖所示:

  位置可以隨便寫,圖繪制好厚,手動拖動。

a=linspace(0,2*pi,100); y1=100*sin(a); y2=50*cos(a); y3=tan(a); y4=log(a); y=[y1;y2;y3;y4]; figure p=plot(a,y)legend(p(1:2),'sin','cos'); ah=axes('position',get(gca,'position'),...'visible','off'); legend(ah,p(3:4),'tan','log','location','west');

總結

以上是生活随笔為你收集整理的Matlab设置Legend横排、分块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。