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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab学位论文绘图美化工具_MATLAB绘图美化超全超实用教程

發布時間:2024/3/13 循环神经网络 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab学位论文绘图美化工具_MATLAB绘图美化超全超实用教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將詳細介紹如何用matlab繪圖并美化。

如果你只會plot(x,y),那你的圖將會不出意外地單薄&空洞&丑,本文將教你如何精心修飾matlab的成圖,讓圖片看起來更好看,讓自己的大作業和報告更好看一點。關于figure()

創建圖窗窗口:figure()

figure()的屬性:

'Name':在標題欄顯示的名稱,接字符串,如'Test'

'Position':在電腦屏幕上的位置和大小,后接向量[left,bottom,width,height]也就是說指定了圖窗的左下角位置,再向右+width、向上+height延伸。

'unit':單位,可以選擇'normalized',使得位置參數為屏幕的歸一化位置,屏幕歸一化坐標(x,y),(0,0)表示左下角,(1,1)表示右上角。我的桌面

'color':圖窗背景顏色,'red'、'green'、'blue'、'cyan'、'magenta'、'yellow'、'black'、'white' 和 'none',其中none表示透明。或者RGB三通道表示法[R,G,B],其中三分量都要歸一化到1,即R/255,G/255,B/255。https://ww2.mathworks.cn/help/matlab/ref/figure.html

例如:

fullfig=figure('Name','Hello','unit','normalized','Position',[0.1, 0.1, 0.3, 0.7],'color',[100/255,100/255,100/255]);

將會產生左下角位置在[0.1,0.1]、長0.3寬0.7的圖窗,其名字為'Hello',其背景顏色為[100/255,100/255,100/255]也就是灰色。關于plot()

plot(x,y)畫圖

'LineWidth',線條寬度,最小是1

'color',線條顏色,同上

'LineSpec',這里直接表示線的形狀,不用寫'LineSpec'https://www.mathworks.com/help/matlab/ref/linespec.html

'MarkerSize'、'MarkerEdgeColor'、?'MarkerFaceColor':如果線形使用Marker,可以調節大小、邊界顏色、內部顏色

例如,

>> x=0:1/pi:2*pi;

>> y=sin(x);

>> plot(x,y,'--bo','LineWidth',2,'color','blue','MarkerSize',10,'MarkerEdgeColor','black','MarkerFaceColor','red')

表示畫一條如下圖所示的正弦函數,'--bo'表示虛線、藍色、采樣點用圓圈標出。線形和點形以及顏色可以自由組合。

關于圖注、圖例、坐標軸、字體大小

命名橫縱坐標

a=xlabel('Name of x axis');b=ylabel('Name of y axis');

設置標題

c=title('contents of your title');

設置圖例

d=legend('y1','y2');

設置上述內容的位置、字體大小、粗細

set(a,'unit','normalized','Position',[x,y],'FontSize',number_fontsize,'FontName',name_of_font_style)

set(a,'unit','normalized','Position',[x,y,width,height],'FontSize',number_fontsize,'FontName',name_of_font_style,'LineWidth',number_linewidth);

示例:

>> x=0:1/pi:2*pi;

>> y1=sin(x);y2=cos(x);

%創建圖窗%

>> figure('color','white')

%畫sin(x)和cos(x)圖%

>> plot(x,y1,'--bo','LineWidth',2,'color','blue','MarkerSize',10,'MarkerEdgeColor','black','MarkerFaceColor','red');

>> hold on;plot(x,y2,'--g*','LineWidth',2,'color','blue','MarkerSize',10,'MarkerEdgeColor','black','MarkerFaceColor','red');

%創建坐標軸、標題、圖例的對象

>> a=xlabel('x (time)');b=ylabel('y (m)');c=title('sin(x) and cos(x)');d=legend('sin(x)','cos(x)');

%位置、大小、字體大小、字體樣式設置

>> set(a,'unit','normalized','Position',[0,-0.05],'fontsize',15,'fontname','Times New Roman');

>> set(b,'unit','normalized','Position',[-0.05,1],'fontsize',15,'fontname','Times New Roman');

>> set(c,'fontsize',15,'fontname','Times New Roman');

>> set(d,'unit','normalized','Position',[0.2,0.2,0.1,0.1],'fontsize',10)

%圖窗所有線條粗細設置為2

>>?set(gca,'LineWidth',2)

%開啟網格

>> grid on;

%設置x軸、y軸的顯示范圍

>> xlim([0 2*pi])

>> ylim([-1.1 1.1])

%注:如果想畫到上限,只需用+inf代替上限

關于非常規坐標軸

>> set(gca,'YDir','reverse');

>> set(gca,'YDir','normal');

y坐標軸反向或正常

半對數、對數畫圖

semilogx(x,y);loglog(x,y)

關于參考線、參考點、標注點

橫線實現方式:

利用ones(m,n)生成與y相同的純1向量,再給它乘上你要標注的數

size(y)返回y的行列值對(m,n),

例如標y=0的淺色虛線:

>>?hold on;plot(x,0*ones(size(y)),'--','LineWidth',1,'color',[100/255,100/255,100/255]);

豎線實現方式:

利用plot()兩點成線

plot([x0,x0],[y_min,y_max]);

例如在Pi/2處畫從0到1的豎虛線:

>> hold on;plot([pi/2,pi/2],[0,1],'--','LineWidth',1,'color',[100/255,100/255,100/255]);

小細節:如果先加圖例,圖例會把你畫的橫豎線也標上'data 1','data 2'。如果畫完參考線再加legend,legend只會標注標簽名數量個數據,就不會出現把參考線也標上的情況。

標注文字:text(x,y,'contents')

>> text(pi,0,'\leftarrow sin(\pi)','fontsize',15);關于多個圖

subplot(m,n,index)由matlab根據選定的m行n列自動設置子圖尺寸https://ww2.mathworks.cn/help/matlab/ref/subplot.html

或者需要精細化設置位置:

%設置當前圖窗單位為歸一化

>> set(gcf,'color','none','unit','normalized','position',[0,0,1,1]);

%設置左下角出現在(0.2,0.22)位置,寬0.55,高0.4

>> positionVector1 = [0.2, 0.55, 0.22, 0.4]; subplot('Position',positionVector)

這里畫子圖下面的操作和上面都一樣,唯一要記住的是,每一個subplot,都相當于一個figure(),這就是說,你在每個subplot下面寫的xlabel、title、legend之類的,都只會設置subplot下面的圖。

子圖示例:

%子圖一

%設置子圖位置

positionVector1 = [0.2, 0.55, 0.22, 0.4];

subplot('Position',positionVector1)

%畫圖

plot(A(:,2),(A(:,1)/1000),'LineWidth',2,'color','black');

%畫參考線

hold on;plot(zeros(size(A(:,2))),(A(:,1)/1000),'--','LineWidth',1,'color',[100/255,100/255,100/255]);

%設置坐標軸范圍

ylim([0 6371]);xlim([-2*max(abs(A(:,2))) +2*max(abs(A(:,2)))]);

%畫參考線

hold on;plot([-2*max(abs(A(:,2))) +2*max(abs(A(:,2)))],[6371-670 6371-670],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-2*max(abs(A(:,2))) +2*max(abs(A(:,2)))],[6371-2890 6371-2890],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-2*max(abs(A(:,2))) +2*max(abs(A(:,2)))],[6371-5150 6371-5150],'--','LineWidth',1,'color',[100/255,100/255,100/255])

%給坐標軸命名

ylabel('r (km)');xlabel('U(r)'); set(gca,'YDir','reverse');

%修改子圖線條粗細

set(gca,'LineWidth',3,'fontsize',15);

positionVector2 = [0.58, 0.55, 0.22, 0.4];

subplot('Position',positionVector2)

plot(A(:,3),(A(:,1)/1000),'LineWidth',2,'color','black');

hold on;plot(zeros(size(A(:,3))),flip(A(:,1)/1000),'--','LineWidth',1,'color',[100/255,100/255,100/255]);

ylim([0 6371]);xlim([-2*max(abs(A(:,3))) +2*max(abs(A(:,3)))])

hold on;plot([-2*max(abs(A(:,3))) +2*max(abs(A(:,3)))],[6371-670 6371-670],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-2*max(abs(A(:,3))) +2*max(abs(A(:,3)))],[6371-2890 6371-2890],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-2*max(abs(A(:,3))) +2*max(abs(A(:,3)))],[6371-5150 6371-5150],'--','LineWidth',1,'color',[100/255,100/255,100/255])

ylabel('raduis (km)');xlabel('dU(r)/dr'); %set(gca,'YDir','reverse');

set(gca,'LineWidth',3,'fontsize',15);

positionVector3 = [0.2, 0.07, 0.22, 0.4];

subplot('Position',positionVector3)

plot(zeros(size(A(:,1))),(A(:,1)/1000),'--','LineWidth',1,'color',[100/255,100/255,100/255]);

ylim([0 6371]);xlim([-1 1])

hold on;plot([-1 1],[6371-670 6371-670],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-1 1],[6371-2890 6371-2890],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-1 1],[6371-5150 6371-5150],'--','LineWidth',1,'color',[100/255,100/255,100/255])

ylabel('raduis (km)');xlabel('V(r)'); %set(gca,'YDir','reverse');

set(gca,'LineWidth',3,'fontsize',15);

positionVector4 = [0.58, 0.07, 0.22, 0.4];

subplot('Position',positionVector4)

plot(zeros(size(A(:,1))),(A(:,1)/1000),'--','LineWidth',1,'color',[100/255,100/255,100/255]);

ylim([0 6371]);xlim([-1 1])

hold on;plot([-1 1],[6371-670 6371-670],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-1 1],[6371-2890 6371-2890],'--','LineWidth',1,'color',[100/255,100/255,100/255])

hold on;plot([-1 1],[6371-5150 6371-5150],'--','LineWidth',1,'color',[100/255,100/255,100/255])

ylabel('raduis (km)');xlabel('dV(r)/dr');% set(gca,'YDir','reverse');

set(gca,'LineWidth',3,'fontsize',15);

%設置總標題

name=['_{' num2str(n) '}S_{' num2str(l) '}'];%latex

sgt =sgtitle(name);sgt.FontSize = 30;

%加文字

config=[ 'Eigf=' num2str(Eigf) ',Gv=' num2str(Gv) ',Q=' num2str(Q) 'Err=' num2str(Err)];

suptitle(config);

%保存圖片

I=getimage(gcf);

pngname=[ num2str(n) 'S' num2str(l)];

saveas(fullfig,[filepath pngname '.png']);

最后成圖:

那么如何給圖加標題呢?

matlab2020之前有suptitle函數,matlab2020有sgtitle函數,和title函數差不多。關于三維圖

最近沒畫三維圖,有空總結一下。

另外還有畫三維圖時加colorbar的細節

https://www.mathworks.com/help/matlab/ref/colorbar.html

總結

以上是生活随笔為你收集整理的matlab学位论文绘图美化工具_MATLAB绘图美化超全超实用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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