MATLAB绘图

 

 

student(1).name = 'jone';

>> student(1).id = '[email protected]';

>> student(1).number = 30107489;

>> student(1).grade = [100 56 66 99]

 

student(2).name = 'cone';

student(2).id = '[email protected]';

student(2).number = 30107490;

student(2).grade = [88 43 66 99]

 

 

cell: 

  用法 详见b站matlab教程_4变量与档案存取

a=magic(4);

c = mat2cell(a,[1 1 1 1],[2,2])

c{1,1}

 

 

绘图:

MATLAB在多组变量绘图时,可将曲线以不同的颜
色,不同的线型及标记点表示出来.这 些选项如下表所示:
各种颜色属性选项
选 项 意 义 选 项 意 义
'r' 红色 'm' 粉红
'g' 绿色 'c' 青色
32
'b'
兰色 'w' 白色
'y' 黄色 'k' 黑色
各种线型属性选项
选 项 意 义 选 项 意 义
'-' 实线 '--' 虚线
':' 点线 '-.' 点划线
各种标记点属性选项
选 项 意 义 选 项意 义
'.' 用点号绘制各数据点 '^' 用上三角绘制各数据点
'+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点
'*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点
' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点
's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点
'd'或diamond用菱 形绘制各数据点 'h' 用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿
色的 '+'号绘制曲线.

默认曲线

holdon  % 这个指令要请求后面在绘图程序不要覆盖掉前面的绘图程序,并把多个图绘制在一起

plot(sin(0:pi/20:2*pi));

plot(cos(0:pi/20:2*pi));

plot(2*cos(0:pi/20:2*pi));

hold off

 

绘制点图(带颜色)

hold on  % 这个指令要请求后面在绘图程序不要覆盖掉前面的绘图程序,并把多个图绘制在一起

plot(sin(0:pi/20:2*pi), 'or--');

plot(cos(0:pi/20:2*pi), '*k:');

plot(2*cos(0:pi/20:2*pi));

hold off

 

 

绘制多个函数图像并添加注解:

 

x = 0:0.5:4*pi;

y = sin(x);  h =cos(x);  w = 1./(1+exp(-x));

g = (1/(2*pi*2)^0.5)...

   .*exp((-1.*(x-2*pi).^2)./(2*2^2));

plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');

legend('cos(x)','sin(x)','kkk','jik')  

图形注解是按照legend里边给出在名字顺序依次命名

 

 

添加图形题目和横纵座标名称

title() xlable()  ylable  zlable

 

x =0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);

plot(x,y1,'--*',x,y2,':o');

xlabel('t = 0 to 2\pi');  % \表示转意,使图例变为2π

ylabel('sin(t)和e^{-x}的值');  % 同理,{}  也表示转义

title('function plot of sin(t) and e^{-x}');

legend('sin(t)','e^{-x}');

 

 

图像调整与美化(figure adjustment)

边框  (x  y 轴的美化)

x =linspace(0,2*pi,1000); y = sin(x);

h =plot(x,y);

set(gca,'xlim',[0,2*pi]);  % 设置x轴长度

set(gca,'ylim',[-1.2,1.2]);

 

set(gca,'fontsize',25);  % 设置边框字号大小

 

%%法1

set(gca,'xtick',0:pi/2:2*pi);  % 设置x轴tick(刻度)间隔

set(gca,'xticklabel',0:90:360)  % 设置x轴label的数值及间隔

 

%%法2

%set(gca,'FontName','symbol');

%set(gca,'XTickLabel',{'0', 'p/2', '3p/2', '2p'});

%%把x轴数值转义为π并显示在座标轴上   (貌似我的mat无法显示)

 

 

图像线型美化  (line style and width)

x =linspace(0,2*pi,1000); y = sin(x);

h =plot(x,y);

%%法1

set(h,'linestyle','-.',...

    'linewidth',7.0,'color','g');

%%法2

%plot(x,y,'-.g','linewidth',7.0);

 

 

对点的美化

x =rand(20,1);

set(gca,'fontsize',40);

plot(x,'-md','linewidth',2,'MarkerEdgecolor','k',...

    'markerFacecolor','g','markersize',10);

%MarkerEdgecolor 强调点的边框颜色

%markerFacecolor 强调点内部颜色

%markersize 强调点大小

xlim([1,20]);

 

 

画多个图像

(分为figure1、2、3…)

x =-10:0.1:10;

y1 =x.^2 - 8;

y2 =exp(x);

figure,plot(x,y1);  % 画出多个figure(几个不同的页面)

figure,plot(x,y2);

 

 

 

把图形画在一个figure上(只有一个图形界面)还有边框网格线的设置

t =0:0.1:2*pi; x = 3*cos(t); y = sin(t);

subplot(2,2,1);plot(x, y); axis normal

%normal 画出的图是正形

subplot(2,2,2);plot(x, y); axis square

%square 画出的图是xy轴长度相同

subplot(2,2,3);plot(x, y); axis equal

%equal 画出的图xy轴单位长度相同

subplot(2,2,4);plot(x, y); axis equaltight

%equal tight 画出的图,自己Google

 

%%% 不要边框,只保留绘出的图

%axis on

%axis off

%%% 把figure上右边界的边框开启关闭

%box on

%box off

%%% 打开网格线

%grid on

%grid off

 

 

绘图进阶

1、  对数图       可能不会用,看一下网上的做法

2、  双y轴图:  plotyy()

 

3、  直方图(histogram)

4、  bar chart(条形图)

5、  stackd and horizontal bar charts (竖直和水平条形图)

6、  pie chart  (饼 图)

7、  polar chart(极座标图)

8、  stair and stem charts (阶梯和火柴棍图)

9、  boxplot and error bar (统计论文使用较多)

10、   fill()填充颜色

 

 

3D plot

function:

线图:plot3

面图:surf      surfc   surface       meshc


更新中......

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章