Matlab学习日志(一)——基础作图篇

所有matlab代码在同一脚本中,知识点按块分好 

hold on;
plot(sin(0:pi/20:2*pi),'or--');
plot(cos(0:pi/20:2*pi),'xg:');
hold off;
%%
%有关plot作图样式改变,标注legend,图标题title,坐标轴标题?label,文本text
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^-');
xlabel('x=0 to 4\pi');
ylabel('values of y,h,w,g');
title('你伟哥的第一次作图');
legend('sin(x)','cos(x)','Sigmoid','Gauss_function');
str='$$ \int_{0}^{2} x^2 sin(x) dx $$';
text(0.25,-0.5,str,'Interpreter','latex');
annotation('arrow');
%在输出的图形上,text文本和arrow箭头的位置是可以用GUI功能任意移动的
%%
%PLOT_Exercise
t=1:0.01:2;
f=t.^2;
g=sin(2*pi.*t);
handel=plot(t,f,'k-',t,g,'r^');%前一个不标点,后一个没连线
legend('t^{2}','sin(2 \pi t)');
xlabel('x=0 to 2');
ylabel('values of t^{2} and sin(2 \pi t)');
str='$$f() and g()$$';
text(0.25,-0.5,str,'Interpreter','latex');
title('你伟哥的第一次练习图');
get(handel(1))
set(handel(1),'LineWidth',2,'Color','g');
set(handel(2),'LineStyle','-','Color','k');
set(gca,'XTick',0:0.1:2);
%%
%有关plot的OBJECT和对应的property,获取Objrct的handel并修改其property
x=linspace(0,2*pi,1000);%在区间0到2*pi上创建1000个线性分割的向量
y=sin(x);
h=plot(x,y);%获取了当前图片里图线Line Object的handle
pro=get(h);%获取了当前object的proprety,不能修改
gca;%gca是当前图片的Axes的handel
get(gca);%获取当前图片的Axes Objrct的proprety,不能修改
%接下来修改proprety
 set(gca,'XLim',[0,2*pi]);%限定了X轴的长度
set(gca,'YLim',[-1.5,1.5]);%限定了Y轴的长度
ylabel('对不对');
%如果x=linspace(0,2*pi,1000);的长度超出set(gca,'XLim',[0,2*pi]);给X轴限定的长度,比如是
%x=linspace(0,4*pi,1000);那么超出的2pi不会画在图上,图上的x轴只会显示[0,2*pi]的部分
%Y轴同理,超出set(gca,'YLim',[-1.5,1.5]);的部分不显示
set(gca,'FontSize',10);%改坐标字体
set(gca,'XTick',0:pi/8:2*pi);%只是改变X轴坐标上单元格的大小间隔,无法改变坐标显示,但是0:pi/4:2*pi限定了坐标轴上的单元格怎么划
%如果单元坐标set(gca,'XTick',0:pi/4:2*pi);不够 set(gca,'XLim',[0,2*pi])的限定长度
%比如set(gca,'XTick',0:pi/4:pi);那么坐标也会只显示到pi,多余的pi坐标轴虽然在,但是没有坐标
set(gca,'FontName','latex');
set(gca,'XTickLabel',{'0',' \pi/4',' \pi/2','3 \pi/4',' \pi','5 \pi/4','3 \pi/2','7 \pi/4','2 \pi'});
%上两行设置坐标,CellArray里的分别就是依次序的坐标显示字符,超出'XLim'的部分或不够都无法显示
set(h,'LineStyle','-','Color','g');%改线样式,所以在一个set里可以用多对property-value同时设置多个属性
%这对画线的特征,用set()函数而不是plot()画的时候设置
%delete(h);这会删除整个Object
%delete(gcf);
%%
%分不同Figure混合作图
x=linspace(-10,10,1000);
y1=x.^2+x.*4-10;
y2=exp(x);
figure('Position',[200,060,400,400]),h1=plot(x,y1);
figure('Position',[600,100,300,300]),h2=plot(x,y2);%获取Line的handel
set(gca,'XTick',-10:4:10);%gca只指向最后一个做的图的axes
set(h1,'LineStyle','-','Color','g');
set(h2,'LineStyle',':','Color','k');
%%
%一下是同一个Figure作图
%subplot()
t=0:0.1:2*pi;
x=3*cos(t);
y=sin(t);
subplot(2,2,1);plot(x,y); axis normal ;grid on;ylabel('有没有');
subplot(2,2,2);plot(x,y); axis square ;box off;ylabel('是不是');%代表x轴的总体长度和y轴总体长度要一样,正方形
subplot(2,2,3);plot(x,y); axis equal%equal表示x轴和y轴上坐标单元格比例相同,即同样的一段格长度代表了同样的值差
subplot(2,2,4);plot(x,y); axis equal tight 
axis off;%当前的axis是最后一个画的图的axis
axis on;%最后一个的坐标系再显示
box off;%最后一个box关掉
grid on;%最后一个画网格线
ylabel('你以为呢?');%最后一个y轴

猜你喜欢

转载自blog.csdn.net/hrwy2920566283/article/details/81289673
今日推荐