目录
1.1基础图形绘制
1.1.1使用plot函数进行图形绘制
1.1.2为图像增加图例
1.1.3为图片增加标题以及坐标轴的描述
1.1.4控制坐标轴,边框以及网络
1.1.5在一个图像上绘制多条曲线
1.1.6在一个窗口绘制多个图像
1.1.7对图形的对象进行操作( 坐标属性,线型等)
1.2多种类型图像绘制
1.2.1散点图
1.2.2折线图
1.2.3柱状图
1.2.4饼状图
1.1基础图形绘制
1.1.1使用plot函数进行图形绘制
plot(x,y,LineSpec)
参数意义如下:
x: 图线上点的x坐标。
y:图线上点的y坐标。
linespec:图线的线条设定,三个指定线型,标记符号和颜色的设定符组成一个字符串,设定符不区分先后。
以下例子演示了如何绘制(0,2π)余弦函数的图像。
x = 0:pi/20:2*pi;
y = cos(x);
plot(x, y, 'r.-')
此行代码表示(0,2π)为x的范围其中每隔pi/20取一个点。
x = 0:pi/20:2*pi;
此行代码中'r.-'可查上表r表示红色-表示默认函数曲线.代表在线上画点。
plot(x, y, 'r.-')
1.1.2为图像增加图例
使用legend()
函数为图片增加图例
legend()函数的用法为函数括号里面的内容用' '包含如有多条曲线可以用,隔开。
以下例子演示了如何为图片增加图例
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('sin(x)','cos(x)','Sigmoid','Gauss function'); % 添加图例
1.1.3为图片增加标题以及坐标轴的描述
title()函数用来给图片增加标题。
xlablel()函数用来给x轴增加描述。
ylablel()函数用来给y轴增加描述。
以下例子用来演示如何给图片增加标题以及坐标轴的描述:
x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');
1.1.4控制坐标轴,边框以及网络
使用以下命令可以对坐标轴,边框,网格进行操作。
1.1.5在一个图像上绘制多条曲线
默认情况下,每次执行plot()
函数都会清除上一次绘图的结果,多次执行plot()
只会保留最后一次绘制的图形。
如需绘制多条曲线可以先使用hold on先绘制函数图像,然后结束后使用hold off。
以下例子展示了如何在一张图像上显示多条曲线:
hold on % 提起画笔,开始绘制一组图片
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off % 放下画笔,该组图片绘制完毕
1.1.6在一个窗口绘制多个图像
使用subplot()函数可以在一个窗口进行多个函数图像进行绘制
subplot(m,n,p)
以下图片展示了什么是m,n,p(为123456所绘制的方框顺序也按图示进行排序)。
以下例子展示了如何在一个窗口绘制多张图片:
subplot(2,2,1);
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine')
subplot(2,2,2);
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial')
subplot(2,2,[3,4]);
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')
1.1.7对图形的对象进行操作( 坐标属性,线型等)
首先先获取函数图像的句柄,如下图所示:
然后通过函数set(H,Name,Value)进行操作
以下代码展示了第一张图改变坐标轴字体大小,第二张图改变间隔距离以及坐标轴信息,第三张图要设置特殊显示所以要预先进行设置。
% 第一张图
set(gca, 'FontSize', 25);
% 第二张图
set(gca, 'XTick', 0:pi/2:2*pi);
set(gca, 'XTickLabel', 0:90:360);
% 第三张图
set(gca, 'FontName', 'symbol');
set(gca, 'XTickLabel', {'0', 'p/2', 'p', '3p/2', '2p'});
改变线型
h = plot(x,y);
set(h, 'LineStyle','-.', ...
'LineWidth', 7.0, ...
'Color', 'g');
1.2多种类型图像绘制
1.2.1散点图
基础的散点图
x为(0.01,0.08)间隔0.01所对应的y组成的点,加载到scatter函数中进行绘制
x = 0.01:0.01:0.08;
y = [3.0743,3.0707,3.0716,3.1133,3.1685,3.1778,3.2467,3.2634];
scatter(x, y);
通过函数绘制散点图
linspace表示从-2到2中取100个数值,然后加载到x^3函数中将所得到的点加载到scatter函数中
x = linspace(-2, 2, 100);
y = x .^ 3;
scatter(x, y);
改变散点圆圈的大小
scatter(x, y, sz);通过对sz传入参数的大小进行改变来改变圆圈的大小。
x = linspace(-2, 2, 100);
y = x .^ 3;
sz = linspace(1, 100, 100);
scatter(x, y, sz);
1.2.2折线图
通过直线将点直接连接起来
x = 3:2:11;
y=[4,5,9,6,4];
plot(x, y);
1.2.3柱状图
基础柱状图给定x数值,按顺序得到y的数值,将y的数值用高度进行表示。
x = 3:2:11;
y=[4,5,9,6,4];
bar(x, y);
多组变量的柱状图
其中每组变量y用;隔开进行区分。
x=3:5;
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
bar(x,y);
三维柱状图
只需将bar改成bar3就行
x=3:5;
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
bar3(x,y);
水平柱状图
只需将bar改成barh就行
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
barh(y);
1.2.4饼状图
只需传入一组参数
y=[4,5,9,6,4];
pie(y);
三维饼状图
只需将pie改成pie3就行
y=[4,5,9,6,4];
pie3(y);
将某一扇形突出饼状图
传入一个向量将需要突出的部分置一
X=[2,2,1,5,2];
explode = [0 1 0 0 0];
pie(X,explode);