【Matlab编程】matlab 画图

时间:2023-12-22 23:20:20

1.  不用截图工具就可以将图保存成图像格式,并且没有背景颜色:saveas(gcf
,’outputname’,’png/jpg’),第三项省略时默认为fig.m文件

2.  计算形如(-1)^2/3,应该是默认先算(-1)^(1/3),plot的时候命令窗会警告略去了虚部, 为了避免不必要的麻烦((-1)^2)^1/3这样写,例子如下:这个是代码

clear

clc

subplot(1,2,1);

ezplot('x^2+(y-(x^2)^(1/3))^2-1',[-2,2]);

subplot(1,2,2)

ezplot('x^2+(y-x^(2/3))^2-1',[-2,2]);

3.  获取图片纵轴刻度间隔:b=get(gca,'ytick'),y_tick=b(2)-b(1)

4.  excel中有三列数据,第一列是横坐标,第二列是纵坐标,第三列是所要画图的点的颜色深浅,第三列的值只有一个,但是如果表示成color,需要三个值,如[0
1 0]表示纯绿色。我在程序中用的是绿色的深浅,你也可以改成别的如红色、蓝色等。Plot(x,y,’*’,’color’,[0 z(i) 0])

5.  画出来的总是实线穿过了这些小正方形,标识符,能不能设置成不穿过小正方形markerfacecolor 改成和你的背景颜色一样。plot(0,0,'-b^','visible','off');

6.  原点在右侧:set(gca,'XDir','rev')

7.  将第一个图和第三个图合并为一个图subplot(2,2,[1
3])

subplot(2,2,2)

subplot(2,2,4)

8.  Ezplot应该写成函数式fplot可以写成等式,例如:ezplot('exp(x)-3*x^2'),不要写=0

9.  画图纵坐标全部显示为分数(当然这个可以直接在图像上修改):set(gca,'XTickLabel',{'1/2','1/5','1/10','1/15','1/20'})

10.ezplot()简易绘图函数,每次绘图的时候会自动清空当前坐标系
,因此不支持hold on函数。例如:ezplot('x^2',[-1,0]);

hold on

ezplot('x^2+1',[0,1]);可以修改为:f=@(x)x.^2.*(x>=-1&x<=0)+(x.^2+1).*(x>=0&x<=1);

11.把colorbar的标度变成log型:clear,clc

[x,y] = meshgrid(0:.1:10);

z = 10.^((x-5).^2+(y-5).^2);

contourf(x,y,log10(z))

h = colorbar;

l = get(h,'yticklabel');

set(h,'yticklabel','');

t = arrayfun(@(i)['10^{' l(i,:) '}'],1:size(l,1),'un',false);

text(2.5*ones(size(l,1),1),get(h,'ytick'),t,'parent',h)

12. 画立体心形:ezsurf('5-sqrt(1-x^2-(y-abs(x))^2)*cos(30*(1-x^2-(y-abs(x))^2))',[-1,1,-1,2],100)

13.将横纵坐标改为天数、日期、年份等等,简便的方法就是直接在图形窗口进行可视化修改。如果画的图比较多,可以利用XTickLabel等相关程序语句编写。

14.坐标的标签:set(gca,'XTick',-pi:pi/2:pi)

set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})

15.用imagesc函数画图时,出来的图y轴坐标都是反的,解决办法:axis
xy

16.画五角星:n=1:2:11;x=sin(0.4*n*pi);y=cos(0.4*n*pi);plot(x,y);axis([-1.5,1.5,-1.5,1.5]);axis
square