MATLAB画图-scatter/plot/bar

参考官方文档


> _ <–>https://ww2.mathworks.cn/help/matlab/ref/scatter.html

  • scatter

语法
scatter(x,y)
scatter(x,y,sz)
scatter(x,y,sz,c)
scatter(___,'filled')
scatter(___,mkr)
scatter(___,Name,Value)
scatter(ax,___)
s = scatter(___)
说明
示例
scatter(x,y) 在向量 xy 指定的位置创建一个包含圆形的散点图。该类型的图形也称为气泡图。

示例
scatter(x,y,sz) 指定圆大小。要绘制大小相等的圆圈,请将 sz 指定为标量。要绘制大小不等的圆,请将 sz 指定为长度等于 xy 的长度的向量。

示例
scatter(x,y,sz,c) 指定圆颜色。要以相同的颜色绘制所有圆圈,请将 c 指定为颜色名称或 RGB 三元数。要使用不同的颜色,请将 c 指定为向量或由 RGB 三元数组成的三列矩阵。

示例
scatter(___,'filled') 填充圆形。可以将 'filled' 选项与前面语法中的任何输入参数组合一起使用。

示例
scatter(___,mkr) 指定标记类型。

示例
scatter(___,Name,Value) 使用一个或多个名称-值对组参数修改散点图。例如,'LineWidth',2 将标记轮廓宽度设置为 2 磅。

示例
scatter(ax,___) 将在 ax 指定的坐标区中,而不是在当前坐标区中绘制图形。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

示例
s = scatter(___) 返回 Scatter 对象。在创建散点图后,以后可使用 s 对其进行修改。
example:

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = 25;
c = linspace(1,10,length(x));
scatter(x,y,sz,c,'filled')

这里写图片描述


> _ <—> https://ww2.mathworks.cn/help/matlab/ref/plot.html

  • plot
语法
plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,...,Xn,Yn)
plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
plot(Y)
plot(Y,LineSpec)
plot(___,Name,Value)
plot(ax,___)
h = plot(___)
说明
示例
plot(X,Y) 创建 Y 中数据对 X 中对应值的二维线图。

如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。

如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。

如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。

如果 X 或 Y 之一为标量,而另一个为标量或向量,则 plot 函数会绘制离散点。但是,要查看这些点,您必须指定标记符号,例如 plot(X,Y,'o')。

plot(X,Y,LineSpec) 设置线型、标记符号和颜色。

示例
plot(X1,Y1,...,Xn,Yn) 绘制多个 X、Y 对组的图,所有线条都使用相同的坐标区。

示例
plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) 设置每个线条的线型、标记符号和颜色。您可以混用 X、Y、LineSpec 三元组和 X、Y 对组:例如,plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)。

示例
plot(Y) 创建 Y 中数据对每个值索引的二维线图。

如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y)。

如果 Y 是矩阵,则 plot 函数绘制 Y 中各列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。

如果 Y 是复数,则 plot 函数绘制 Y 的虚部对 Y 的实部的图,使得 plot(Y) 等效于 plot(real(Y),imag(Y))。

plot(Y,LineSpec) 设置线型、标记符号和颜色。

示例
plot(___,Name,Value) 使用一个或多个 Name,Value 对组参数指定线条属性。有关属性列表,请参阅 Line 属性。可以将此选项与前面语法中的任何输入参数组合一起使用。名称-值对组设置将应用于绘制的所有线条。

示例
plot(ax,___) 将在由 ax 指定的坐标区中,而不是在当前坐标区 (gca) 中创建线条。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

示例
h = plot(___) 返回由图形线条对象组成的列向量。在创建特定的图形线条后,可以使用 h 修改其属性。有关属性列表,请参阅 Line 属性。
example:

x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);

figure
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

%--------------------------------------------

x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));

figure
plot(x,y,'--gs',...
    'LineWidth',2,...
    'MarkerSize',10,...
    'MarkerEdgeColor','b',...
    'MarkerFaceColor',[0.5,0.5,0.5])
%--------------------------------------------
ax1 = subplot(2,1,1); % top subplot
x = linspace(0,3);
y1 = sin(5*x);
plot(ax1,x,y1)
title(ax1,'Top Subplot')
ylabel(ax1,'sin(5x)')

ax2 = subplot(2,1,2); % bottom subplot
y2 = sin(15*x);
plot(ax2,x,y2)
title(ax2,'Bottom Subplot')
ylabel(ax2,'sin(15x)')

这里写图片描述

这里写图片描述
这里写图片描述


> _ <—>https://ww2.mathworks.cn/help/matlab/ref/legend.html

  • legend
语法
legend
legend(label1,...,labelN)
legend(labels)
legend(subset,___)
legend(target,___)
legend(___,'Location',lcn)
legend(___,'Orientation',ornt)
legend(___,Name,Value)
legend(bkgd)
lgd = legend(___)
[lgd,icons,plots,txt] = legend(___)
legend(vsbl)
legend('off')
说明
示例
legend 为每个绘制的数据序列创建一个带有描述性标签的图例。对于标签,图例使用数据序列的 DisplayName 属性中的文本。如果 DisplayName 属性为空,则图例使用 'dataN' 形式的标签。当您在坐标区上添加或删除数据序列时,图例会自动更新。此命令为 gca 返回的当前坐标区或图形创建图例。如果当前坐标区为空,则图例为空。如果坐标区不存在,此命令将创建坐标区。

示例
legend(label1,...,labelN) 设置图例标签。以字符向量或字符串列表形式指定标签,例如 legend('Jan','Feb','Mar')。

legend(labels) 使用字符向量元胞数组、字符串数组或字符矩阵设置标签,例如 legend({'Jan','Feb','Mar'})。

示例
legend(subset,___) 仅在图例中包括 subset 中列出的数据序列的项。subset 以图形对象向量的形式指定。您可以在指定标签之前或不指定其他输入参数的情况下指定 subset。

示例
legend(target,___) 使用 target 指定的坐标区、极坐标区或图形,而不是使用当前坐标区或图形。指定 target 作为第一个输入参数。

示例
legend(___,'Location',lcn) 设置图例位置。例如,'Location','northeast' 将在坐标区的右上角放置图例。请在其他输入参数之后指定位置。

示例
legend(___,'Orientation',ornt)(其中 ornt 为 'horizontal')并排显示图例项。ornt 的默认值为 'vertical',即垂直堆叠图例项。

示例
legend(___,Name,Value) 使用一个或多个名称-值对组参数来设置图例属性。设置属性时,必须使用元胞数组指定标签,例如 legend({'A','B'},'FontSize',12)。如果您不想指定标签,请包含一个空元胞数组,例如 legend({},'FontSize',12)。

示例
legend(bkgd)(其中 bkgd 为 'boxoff')删除图例背景和轮廓。bkgd 的默认值为 'boxon',即显示图例背景和轮廓。

示例
lgd = legend(___) 返回 Legend 对象。可使用 lgd 在创建图例后查询和设置图例属性。有关属性列表,请参阅 Legend 属性。

[lgd,icons,plots,txt] = legend(___) 还返回用于创建图例图标的对象、在图形中绘制的对象以及标签文本数组。不建议使用该语法。它创建的图例不支持某些功能,例如添加图例标题。此外,当您在坐标区上添加或删除数据序列时,图例不会自动更新。请改用 lgd = legend(__) 语法,以返回 Legend 对象并设置 Legend 属性。

legend(vsbl) 控制图例的可见性,其中 vsbl 为 'hide''show''toggle'。

示例
legend('off') 删除图例。
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)
legend('First Line')

%----------------------------

y1 = rand(3);
ax1 = subplot(2,1,1); 
plot(y1)

y2 = rand(5);
ax2 = subplot(2,1,2); 
plot(y2)

legend(ax1,'Line 1','Line 2','Line 3')

%-----------------------------

x = linspace(0,3*pi);
y1 = sin(x);
p1 = plot(x,y1);

hold on
y2 = sin(x - pi/4);
p2 = plot(x,y2);

y3 = sin(x - pi/2);
p3 = plot(x,y3);
hold off

legend([p1 p3],'First','Third')

这里写图片描述
这里写图片描述
这里写图片描述


> _ <—>https://ww2.mathworks.cn/help/matlab/ref/gtext.html

  • gtext
语法
gtext(str)
gtext(str,Name,Value)
t = gtext(___)
说明
示例
gtext(str) 在您使用鼠标选择的位置插入文本 str。当您将鼠标指针悬停在图窗窗口上时,指针变为交叉指针。gtext 将等待您选择位置。将鼠标指针移至所需位置并点击图窗或按任意键(Enter 键除外)。

gtext(str,Name,Value) 使用一个或多个名称-值对组参数指定文本属性。例如,'FontSize',14 指定 14 磅字体。

t = gtext(___) 返回由 gtext 创建的文本对象的数组。使用 t 修改所创建的文本对象的属性。有关属性和说明的列表,请参阅 Text 属性。您可以使用上述语法中的任何参数返回输出参数。
example:

clc;  
clear all;  
%y1 = (2/(1+exp(-a*u1)))-1;  
%测试不同的a值曲线的变化  
t=-10:0.2:10;  
b = 2;  
a1 = 1;  
a2 = 2;  
a3 = 3;  
a4 = 4;  
a5 = 5;  
y1 = (b./(1+exp(-a1*t)))-1;%一个数除以矩阵  
y2 = (b./(1+exp(-a2*t)))-1;  
y3 = (b./(1+exp(-a3*t)))-1;  
y4 = (b./(1+exp(-a4*t)))-1;  
y5 = (b./(1+exp(-a5*t)))-1;  
%绘制不同的a值得曲线变化  
figure(1)  
plot(t,y1,'r',t,y2,'--b',t,y3,'g',t,y4,'y',t,y5,'k','linewidth',0.5);  
hold on;  
grid on;  
legend('a=1','a=2','a=3','a=4','a=5','fontsize',5);  
% xlabel('矢量号','fontsize',18);  
% ylabel('ID电流/A','fontsize',18);  
% xlim([1, aa]);  
% ylim([1, 2.5]);  
title('a值不同的sigmoid曲线')  
gtext(' \leftarrow a=1');  
gtext(' \leftarrow a=2');  
gtext(' \leftarrow a=3');  
gtext(' \leftarrow a=4');  
gtext(' \leftarrow a=5');  

这里写图片描述


% close all;
% load('图5a.mat')
% x_axisd=single(x_axis)
% y_axisd=single(y_axis)
% %Plot this data as a bar chart
% h=figure; hold;
% %bar(x_axisd,y_axisd)
% %bar(x_axisd,y_axisd,'FaceColor',[52/255 148/255 1],'EdgeColor',[1 1 1],'LineWidth',1.0)
% bar(x_axisd,y_axisd,'FaceColor',[51/255 102/255 1],'EdgeColor',[1 1 1],'LineWidth',0.5)
% %barmap=[51/255 153/255 1]; %[0.7 0.7 0.7] is grey, [ 0.05 .45 0.1] is green
% %colormap(barmap)
% xlabel('age class','FontSize',14)
% ylabel('num','FontSize',14)
% title('megage age distribution','FontSize',14)
% %title('adience age distribution','FontSize',14)
% legend('age distribution')
% saveas(h, '图5a.fig','fig')
% pause; 
% close all;

% close all;
% x=[-10:0.01:10]%定义自变量的取值  
% y=1./(1+exp(-x))%sigmoid函数 函数里一定要用点除‘./’,因为是矩阵运算,所以要把纬度保持一致。  
% h=figure; 
% plot(x,y); %绘制图形  
% hold on;  
% grid on; 
% set(gca,'YTick',0:0.2:1);
% % set(gca,'XTick',-15:5:15);
% % set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'});
% xlabel('Age Difference','fontsize',18)%添加横轴名称  
% ylabel('P(A younger than B)','fontsize',18)%添加纵轴名称  
% % legend('sigmoid')%添加曲线标记符  
% % title('sigmoid')%给图像添加标题  
% % gtext(' \leftarrow a=1');  
% for k = 1:17
%     gtext('\fontsize{20} \color[rgb]{0,0.5,0.5} \circ');  
%     % gtext('\otimes');
% end
% saveas(h, '图3.fig','fig')
% pause; 
% close all;


% close all;
% load('图6c1.mat')
% x=[1:1:500]%定义自变量的取值  
% h=figure; 
% plot(x,tr_acc,'b',x,tr_diag,'r',x,te_acc,'c',x,te_diag,'g','linewidth',1);  
% hold on;   
% legend('train acc','train 1off','test acc','test 1off','fontsize',5,'Location','southeast'); 
% xlabel('count','fontsize',14)%添加横轴名称  
% ylabel('acc/1off','fontsize',14)%添加纵轴名称   
% % title('sigmoid')%给图像添加标题  
% % xlim([1, aa]);  
% % ylim([1, 2.5]);  
% title('acc/1off','fontsize',14)
% 
% saveas(h, '图6c1.fig','fig')
% pause; 
% close all;

% close all;
% %load('图6c2.mat')
% x=[1:1:500]%定义自变量的取值  
% h=figure; 
% plot(x,tr_loss,'b',x,te_loss,'r','linewidth',1);  
% hold on;   
% legend('train center loss','test center loss','fontsize',5,'Location','northeast'); 
% xlabel('count','fontsize',14)%添加横轴名称  
% ylabel('center loss','fontsize',14)%添加纵轴名称   
% % title('sigmoid')%给图像添加标题  
% % xlim([1, aa]);  
% % ylim([1, 2.5]);  
% title('center loss','fontsize',14)
% 
% saveas(h, '图6c2.fig','fig')
% pause; 
% close all;

close all;
load('图7d.mat')
sz=20;%指定圆大小。要绘制大小相等的圆圈,请将 sz 指定为标量。要绘制大小不等的圆,请将 sz 指定为长度等于 x 和 y 的长度的向量。
h=figure; 
scatter(embeds(:,1),embeds(:,2),sz,labels,'filled');
hold on;   
xlabel('x','fontsize',14)%添加横轴名称  
ylabel('y','fontsize',14)%添加纵轴名称    
title('feature distribution','fontsize',14)
gtext('\fontsize{15} \color[rgb]{0,0,0} 0'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 1'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 2'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 3'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 4'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 5'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 6'); 
gtext('\fontsize{15} \color[rgb]{0,0,0} 7'); 

saveas(h, '图7d.fig','fig')
pause; 
close all;

猜你喜欢

转载自blog.csdn.net/u013381011/article/details/80790127