1. 程式人生 > >Matlab高階繪圖

Matlab高階繪圖

轉自:Matlab繪圖高階部分 - JeromeBlog(http://bluereader.org/article/25129

圖形是呈現資料的一種直觀方式,在用Matlab進行資料處理和計算後,我們一般都會以圖形的形式將結果呈現出來。尤其在論文的撰寫中,優雅的圖形無疑會為文章加分。本篇文章非完全原創,我的工作就是把見到的Matlab繪圖程式碼收集起來重新跑一遍,修改區域性錯誤,然後將所有的圖貼上來供大家參考。大家可以先看圖,有看中的可以直接把程式碼Copy過去改成自己想要的。


%%直方圖圖的繪製%直方圖有兩種圖型:垂直直方圖和水平直方圖。而每種圖型又有兩種表現模式:累計式:分組式。 figure
; z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5];%各因素的相對貢獻份額 colormap(cool);%控制圖的用色 subplot(2,3,1); bar(z);%二維分組式直方圖,預設的為'group' title('2D default'); subplot(2,3,2); bar3(z);%三維的分組式直方圖 title('3D default'); subplot(2,3,3); barh(z,1);%分組式水平直方圖,寬度設定為1 title('vert width=1'); subplot(2,3,4); bar(z,'stack');%累計式直方圖,例如:
1,1+2,1+2+3構成了第一個bar title('stack') subplot(2,3,5); bar3h(z,0.5,'stacked');%三維累計式水平直方圖 title('vert width=1 stack'); subplot(2,3,6); bar3(z,0.8,'grouped');%對相關資料的顏色進行分組,預設的位'group' title('width=0.8 grouped');

%%=========柱狀圖的進階==========
figure;
y=[300311;390425;312321;250185;550535;420432;410520;];
subplot
(1,3,1); b=bar(y); grid on;set(gca,'XTickLabel',{'0','1','2','3','4','5','6'}) legend('演算法1','演算法2'); xlabel('x axis'); ylabel('y axis');%使僅有的一組柱狀圖呈現不同顏色,預設的位相同顏色 data =[1.0,1.0,0.565,0.508,0.481,0.745]; subplot(1,3,2); b = bar(data); ch =get(b,'children');set(ch,'FaceVertexCData',[4;2;3;1;5;6]);%使用Indexed形式指定每組bar的顏色set(gca,'XTickLabel',{'C0','C1','C2','C3','C4','C5'}) axis([070.01.0]); ylabel('micro F-measure');%使每個bar顏色不同,預設的是每個元素在不同組的顏色相同 data =[3,7,5,2;4,3,2,9;6,6,1,4]; subplot(1,3,3); b = bar(data); ch =get(b,'children');set(ch{1},'FaceVertexCData',[1;2;3]);%設定第一個元素在不同組的顏色set(ch{2},'FaceVertexCData',[1;2;3]);%設定第二個元素在不同組的顏色set(ch{3},'FaceVertexCData',[1;2;3]);set(ch{4},'FaceVertexCData',[1;2;3]);

%%彩色柱狀圖%用到的資料
n =8;
Z = rand(n,1);
figure;%預設圖片
subplot(1,3,1);
bar(Z);%簡單的作圖%這個圖根據資料列中值的大小著色。每列中的值越大,顏色越突出
subplot(1,3,2);
h=bar(Z);
colormap(summer(n));
ch =get(h,'Children');
fvd =get(ch,'Faces');%針對矩陣時,只能用fvd=get(ch{col},'Faces'),下同
fvcd =get(ch,'FaceVertexCData');[~, izs]= sortrows(Z,1);for i =1:n
    row = izs(i);
    fvcd(fvd(row,:))= i;endset(ch,'FaceVertexCData',fvcd)%圖片會以漸變的方式著色,效果非常不錯
subplot(1,3,3);
h=bar(Z);
ch =get(h,'Children');
fvd =get(ch,'Faces');
fvcd =get(ch,'FaceVertexCData');[zs, izs]= sortrows(Z,1);
k =128;%準備生成128*3行的colormap
colormap(summer(k));%這樣會產生一個128*3的矩陣,分別代表[R G B]的值%檢視資料
whos ch fvd fvcd zs izs
%NameSizeBytesClassAttributes%%   ch         1x18double%   fvcd      66x1528double%   fvd       13x4416double%   izs       13x1104double%   zs        13x1104double%
shading interp %Needed to graduate colors
for i =1:n
    color = floor(k*i/n);%這裡用取整函式獲得colorcolormap中行
    row = izs(i);%Look up actual row # in data
    fvcd(fvd(row,1))=1;%Colorbase vertices 1st index
    fvcd(fvd(row,4))=1;
    fvcd(fvd(row,2))= color;%Assign top vertices color
    fvcd(fvd(row,3))= color;endset(ch,'FaceVertexCData', fvcd);%Apply the vertex coloring
set(ch,'EdgeColor','k');

%%繪製統計直方圖%hist(y):如果y是向量,則把其中元素放入10個條目中,且返回每條中的元素的個數;如果y為矩陣,則分別對每列進行處理,顯示多組條形。%[n,xout]=hist(y,x):非遞減向量x的指定bin的中心。向量xout包含頻率計數與條目的位置。
x=-10:.1:10;
y1=randn(2008,1);
y2=randn(2008,3);
figure;
colormap(winter);
subplot(2,2,1);
hist(y1);%把其中元素放入10個條目中
title('y1為向量,default,n=10');
subplot(2,2,2);
hist(y2);%分別對每列進行處理,顯示多組條形
title('y2為矩陣');
subplot(2,2,3);
hist(y1,x);%使用者也可以使用[n,xout]=hist(y1,x);bar(xout,n)繪製條形直方圖
title('向量x指定條目');
subplot(2,2,4);
hist(y2,1000);%第二個引數為標量時指定bin的數目
title('nbins=1000');

%%========均值方差直方圖========
a=[8910789];%mean
b=[111111];%std
figure();
h=bar(a);
ch=get(h,'children');set(ch,'FaceVertexCData',[4;2;3;1;5;6]);%使用Indexed形式指定每組bar的顏色
hold on;
errorbar(a,b,'k','LineStyle','none');

%%=======散點圖scatter , scatter3 , plotmatrix======%scatter3(X,Y,Z,S,C):在由向量XYZ指定的位置顯示大小和顏色分別由
            
           

相關推薦

matlab 高階繪圖函式

  matlab高層繪圖函式即是指Matlab提供了一系列的繪圖函式,這些繪圖函式使得使用者不需要過多的考慮繪圖的細節,只需要給出一些基本引數就能得到所需圖形。與高階繪圖函式的相對的是,低階繪圖函式,這我們放在在後面探討,這一篇部落格我們就來探討一下matlab

Matlab高階繪圖功能

溫馨提示福利在最下方d=[-1 1]; [x,y,z]=meshgrid(d,d,d);%定義一

Matlab高階繪圖

轉自:Matlab繪圖高階部分 - JeromeBlog(http://bluereader.org/article/25129) 圖形是呈現資料的一種直觀方式,在用Matlab進行資料處理和計算後,我們一般都會以圖形的形式將結果呈現出來。尤其在論文的撰寫中,優

Matlab高階教程_第二篇:關於MATLAB轉C#過程中遇到輸出兩組引數的問題

1. 在matlab的m函式很可能遇到原函式[a,b] = func(a); 這樣的兩個輸出引數。 2. 在觀察C#生成後定義中我們發現: public MWArray HP(); public MWArray HP(MWArray Y); public MWArray HP(MWArray Y, M

MATLAB簡單繪圖

一、MATLAB繪製散點圖 %MATLAB繪製散點圖 close all; clc data = xlsread('1.xlsx'); %讀取Excel表格中的資料 x = data(:, 1); y = data(:, 2); plot(x, y, '+r') %畫圖函式 % r代表的

044關於matlab繪圖函式plot

在matlab中,plot([0,1],[0,2])的意思,就是指x軸的向量(0,1)與y軸上的向量(0,2)的向量和, figure plot([0,1],[0,2]); grid on xlabel('X'); ylabel('Y'); axis([0 3 0 4]); 如

高階繪圖函式

函式 描述 plot(x) x元素值為縱座標 plot(x,y) sunflowerplot(x,y) 花瓣數為點

Matlab高階教程_第四篇:白噪聲的MATALB生成方式

1. 白噪聲主要是高斯白噪聲。 2. 為什麼是高斯白噪聲?   高斯白噪聲:1)這個噪聲它是一個隨機訊號。2)“白”是指其功率譜的常數,這樣他的自相關函式是狄拉克函式(衝激函式),由於它的自相關函式是衝激函式,這說明訊號只與它自己相關,它的時延訊號就相關,也可以形象地說這種訊號是“翻臉不認人”;功率譜是常

matlab矩陣繪圖

matlab將一個矩陣繪畫成三維影象: mesh(m2(1:10000,1:10000)); 其中m2是一個矩陣,之後括號是要顯示的矩陣的範圍,有時候我們並不需要顯示所有的矩陣。 影象儲存: s

MATLAB繪圖基礎

第7部分 MATLAB的繪圖基礎 1.二維圖形繪製 (1)plot()函式 格式: plot(x) plot(x,y) 圖形繪製函式plot(x)的格式說明 x內容 說明 實向量y 以y元素下標序號i為橫座標,元素y為縱座標,繪製(I,y)的有序集合的圖形,中

改小matlab繪圖大小、字號、線寬

最新建議:繪圖視窗選單File | Export Setup裡很方便的改變這些屬性 特別是Expand axes to fit figure,會更好減少空白邊。 設定好可以儲存模板,下次呼叫。 也可以將這個功能寫到m檔案中,自動執行吧 用matlab畫了一張圖,投稿時要縮小

matlab 3D繪圖詳解

<pre code_snippet_id="1628801" snippet_file_name="blog_20160330_1_8408168" name="code" class="cpp

matlab繪圖大小、字號、線寬

有時在寫稿件時,需要對所做的圖形做縮放處理,但是手動處理後有點變化,這樣就直接在matlab命令中修改就好了。 %%%%%%%%%%%%%%%%%%%%% %plot your figure before %%%%%%%%%%%%%%%%%%%%% %

Java:Java2D高階繪圖

知識要點:  第一節  Java 2D的增強功能  概述、AWT圖形能力的不足、Java 2D API  第二節  圖形繪製的基本方法  轉換Graphics2D物件、Graphics 類特性、繪圖的屬性和基本程式設計方法  第三節  曲線問題的高階應用開發  直線問題深

Python matplotlib高階繪圖詳解

1. 前言 前面我們介紹了使用matplotlib簡單的繪圖方法(見:Python應用matplotlib繪圖簡介 ) 但是想要完全控制你的圖形,以及更高階的用法,就需要使用 pyplot 的介面顯式的建立圖形figure。 本文介紹plyplot控制繪圖

Matlab繪圖高階部分

圖形是呈現資料的一種直觀方式,在用Matlab進行資料處理和計算後,我們一般都會以圖形的形式將結果呈現出來。尤其在論文的撰寫中,優雅的圖形無疑會為文章加分。本篇文章非完全原創,我的工作就是把見到的Matlab繪圖程式碼收集起來重新跑一遍,修改區域性錯誤,然後將所有的圖貼上來供大家參考。大家可以先看圖,有看中

[數學建模(八)]使用MATLAB繪圖1

基本 barh 分享 com 自定義 subplot mes 1.2 img 目錄 1..二維圖 1.1 基本畫圖功能 1.2 plot參數說明 :線條類型,點類型,顏色 1.3 坐標軸定標和圖形說明 1.4 子圖 :subplot 1.5 其他類型的二維圖

Matlab繪圖基礎——用print函數保存圖片(Print figure or save to file)

prop ont ott char 9.1 pbm tex cti roman 一、用法解析... 1 1.1. 分辨率-rnumber. 1 1.2. 輸出圖片的“格式”formats. 1 二、用法示例... 1 2.1. 設置輸出

Matlab繪圖---坐標系顯示設置

sim 數據 jpg grid tro 另存為 部分 PE 標註 Matlab繪圖---坐標系顯示設置 【@wp20180507-20180511(week 5)】 目錄: 一、設置坐標範圍 二、修改坐標軸顯示的刻度、密度、lable文字、位置等 三、Matlab繪制出來的

【原始碼】高階色彩繪圖函式linspecer

MATLAB自帶的line spec和colormaps是非常粗糙簡單的。linspecer函式的線條繪圖基於perceptive空間,而不是RGB空間。函式編寫是基於Cynthia Brewer教授的研究成果,且易於使用。 linspecer函式建立一個N x 3的[R G B]色彩