首页 > 代码库 > 【Matlab编程】matlab 画图
【Matlab编程】matlab 画图
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