1. 程式人生 > >Matlab如何建立多個Legend(圖例)

Matlab如何建立多個Legend(圖例)

作者:faaronzheng 轉載請註明出處!
Matlab建立一個Legend非常簡單,但是當建立兩個甚至多個的時候就會遇到很多麻煩。接下來我們就介紹一下如何在Matlab中建立多個Legend。

%--------------------------------------plot
c1=plot(r1app(:, 1), r1app(:, 2), 'g.');    %r1app(:, 1) r1app(:, 2)都是矩陣
hold on;
c2=plot(r1test(:,1),r1test(:,2),'+g');
hold on;
% l1=legend('class1:train'
, 'class1:test',1); % set(l1,'Orientation','horizon'); c3=plot(r2app(:, 1), r2app(:, 2), 'r.'); hold on; c4=plot(r2test(:,1),r2test(:,2),'+r'); hold on; c5=plot(r3app(:, 1), r3app(:, 2), 'b.'); hold on c6=plot(r3test(:,1),r3test(:,2),'+b'); hold on; %----------------------------------------Legend %--------------------------------------method
1 %legend('class1:train','class1:test','class2:train','class2:test','class3:train','class3:test');
%--------------------------------------method 2 [legh,objh,outh,outm]=legend(c1,'class1:train'); set(legh,'Box','off'); set(legh,'position',[0.2,0.8,0.1,0.1]); legh2=copyobj(legh,gcf); [legh2,objh2]=legend(c2,'class1:test'
); set(legh2,'Box','off'); set(legh2,'position',[0.4,0.8,0.1,0.1]); legh3=copyobj(legh2,gcf); [legh3,objh3,outh3,outm3]=legend(c3,'class2:train'); set(legh3,'Box','off'); set(legh3,'position',[0.2,0.75,0.1,0.1]); legh4=copyobj(legh3,gcf); [legh4,objh4]=legend(c4,'class2:test'); set(legh4,'Box','off'); set(legh4,'position',[0.4,0.75,0.1,0.1]); legh5=copyobj(legh4,gcf); [legh5,objh5,outh5,outm5]=legend(c5,'class3:train'); set(legh5,'Box','off'); set(legh5,'position',[0.2,0.7,0.1,0.1]); legh6=copyobj(legh5,gcf); [legh6,objh6]=legend(c6,'class3:test'); set(legh6,'Box','off'); set(legh6,'position',[0.4,0.7,0.1,0.1]);

程式碼如上每一個Legend下面第一個set是用來取消Legend邊框的,第二個set是固定Legend的位置,因為去掉邊框後就不能用滑鼠拖動Legend了,所以必須通過程式碼來設定Legend的位置。一定要記得在除第一個外每個Legend下使用copyobj()函式;不然會覆蓋之前的Legend。

用method1產生的效果如下!
用method2產生的效果如下!

第二種是不是明顯比第一種好看多了~~而且使用第二種方法可以建立任意多個Legend。

相關推薦

Matlab如何建立Legend圖例

作者:faaronzheng 轉載請註明出處! Matlab建立一個Legend非常簡單,但是當建立兩個甚至多個的時候就會遇到很多麻煩。接下來我們就介紹一下如何在Matlab中建立多個Legend。 %----------------------------

用C語言程式設計實現建立目錄資料夾

    因為要建立90個資料夾,本人實在不想一個一個的建立,就想是不是可以用C語言程式設計來實現呢,剛才查閱了很多部落格,終於終於我實現了,可以用迴圈的方式建立了,也不屬於自己原創,參考了很多大神的程式碼。現在我把原始碼貼出來,在Visual studio 2015上跑成功了

Appium之連續啟動應用APP

windows 其它 aps dst ren 技術分享 多個 info 快速 我們知道Appium應用啟動時自帶的caps可以先行啟動某個應用(基於appPackage和appActivity),那麽如何用其連續啟動多個應用呢? 這裏就需要用到start_activity

linux 核心模組程式設計之編譯原始檔

編譯擁有多個原始檔的核心模組的方式和編譯一個原始檔的方式差不多,我們先來看下我們需要的檔案都有哪些。 首先是main.c檔案 #include <linux/module.h> #include <linux/init.h> MODULE_LICENSE

在同一臺伺服器上配置Tomcat轉載

轉載地址   http://blog.163.com/[email protected]/blog/static/50004810200871483335100/ 在一臺伺服器上配置多個Tomcat的方法: 這幾天由於在研究OGSA

用結構體指標做函式形參實現返回fishing_6

        最近在學ST32驅動數字攝像頭OV2640的實驗,無意中遇到了函式返回多個值的情況,決定Mark一下,說不定以後就會用到,因為一般函式都是隻有一個返回值的嘛,具體如下:         首先在標頭檔案定義結構體:                 typed

在Linux系統配置Nodejs環境的最簡單步驟,部署thinkjsnodejs專案

發現一臺伺服器部署管理多個nodejs服務,可以採用二級域名weekly.mwcxs.top,也可以採用固定字尾www.mwcxs.top/weekly的方式,本文先從固定字尾的方式部署管理多個nodejs服務。 1、去官網下載和自己系統匹配的檔案: 建議去英文網站下載 ,因為中文這邊沒有

Dao向mapper傳引數Mybatis

第一種方案 DAO層的函式方法 : Public User selectUser(String name,String age); 對應的Mapper.xml <select id="selectUser" resultMap="BaseResultMap"

linux 用 grep 查詢單個或字串關鍵字

1、單個字串進行查詢:1、查詢當前目錄檔名中的字串:    grep  字串  檔名2、查詢某個檔案中字串,並輸出行號:grep -n 字串 檔名3、查詢當前目錄(包含子目錄)的字串:grep -r 字串 *4、查詢當前目錄(包含子目錄)的字串,並輸出行號:grep -rn

redis 建立例beanredisTemplate

package -------------.data.source.impl; import -------------.util.MD5; import -------------.dataMapping.SourceSys; import ---------

JMeter、Postman、Requests介面測試經驗分享-一個引數傳

原本以為是a piece of cake,深挖下,結果自己越跑越遠; 所幸有些收穫,但不見得準確,希望大家多多指正。 JSON格式的POST請求在利用Requests庫在用三種方法傳遞引數時出現了新問題,有2種是400 Bad Request,即我傳的(Requests轉化完的)JSON

JMeter、Postman、Requests介面測試經驗分享-一個引數傳

上一篇分享真實介面,好多馬賽克;這一篇就分享沒有馬賽克的; 與此同時,因為那個post請求的Content-Type是application/x-www-form-urlencoded,沒有寫JSON的機會;我一直以為我會遇到的JSON問題是工具JMeter、Postman的,但沒想到是

JMeter、Postman、Requests介面測試經驗分享-一個引數傳舉例

在介面測試中,實際【很少】會碰到一種情況:某一個引數需要傳遞多個值;第一次碰到時,手足無措,最近略有體會,就整理、分享下。 因為是真實介面,所以圖片多處有馬賽克,請多理解。 (一)Requests文件的小意外 公司專案有個介面是可以傳多個值,我就想用Requests來試試,在複習

python-進階教程-字典對映的合併

0.摘要 當我們處理多個字典(或稱為對映,因為字典是Python中唯一的對映結構),可以通過將多個字典合併為一個字典的方式實現批量處理。   1.ChainMap類 a = {'x': 1, 'z': 3 } b = {'y':

linux-搭建web伺服器系列--安裝部署tomcat

當然,第一步當然是下載tomcat,不廢話,直接上圖 到此時,tomcat已經下載好,我們利用FZ上傳到linux伺服器上去 使用以下命令解壓tomcat壓縮包: tar -zxvf apach

自定義函式 返回指標

#include "iostream.h"void calcu(int *a,int *b,int *l,int *angle){//進行相應的操作//比如...*l += *a;*angle += *

Xcode裡一個工程Project專案target做版本控制討論

最近專案即將釋出測試,考慮到更換髮布證書,以及釋出環境(PRD)和之前的開發環境(DEV),測試環境(STG)的某些配置不同,比如bundle ID,對應的聽雲的Apikey,高德地圖的Apikey,

工藝路線建立BAPI BAPI_ROUTING_CREATE,批量建立時無法連續建立工藝路線只成功建立第一工藝路線

相關T-CODE: CA01 CA02 CA03 BAPI傳入引數如下所示 CLEAR:lv_group,lv_groupcounter,lt_return. CALL FUNCTION 'BAPI_ROUTING_CREATE' * EXPOR

IDEA+Maven+Module模組建立模組SpringBoot整合專案

最近在學習springboot,先從建立專案開始,一般專案都是一個專案下會有多個模組,這裡先建立一個最簡單的例項,一個專案下有一個springboot模組專案提供web服務,引用另一個java專案(相當於業務邏輯)  期望的專案結構如下  springboot-test  —

spring boot中使用spring JdbcTemplate——連線池建立連線

本文參考了網上一些文章,最後整理實踐得出。1、建立一個springboot的demo程式,可以參考我的文章:2、看一下目錄結構:3、首先需要在pom檔案中引入依賴:<!-- https://mvnrepository.com/artifact/mysql/mysql-c