MATLAB绘制平面填充图入门详解 |
您所在的位置:网站首页 › 我给你书中所蕴藏的一切悟力 › MATLAB绘制平面填充图入门详解 |
一、引言
在画图的时候,为了让图形更加清晰突出,往往需要对某一条或几条曲线围成的区域进行填冲颜色,以得到填充图。对于平面图形的填充,可以matlab的命令fill和area等实现。 二、fill命令的简单用法基于语法: 1)fill(x, y, ‘color’) 功能:以x为横坐标,y为纵坐标,绘制同色填充的区域图。 (1)如果(x,y)组成的图形式闭曲线,则用颜色color填充该闭区域; (2)如果(x,y)组成的图形是曲线段,则填充以曲线段为上曲边,该曲线段的两个端点连城的直线为另外一条边,生成封闭区域,再用颜色color填充该区域; (3)color可以是单一颜色,如r、g、b等,也可以是颜色矩阵,此时必须与x和y同维数。 2) fill(x1, y1, ‘color1’, x2, y2, ‘color2’, … ) 功能:绘制多个填充区域图,其中以x1为横坐标,y1为纵坐标,围成一个闭区域(非封闭则自动补充曲线端点的连线,以构成闭区域),以x2为横坐标,y2为纵坐标,围成另一个闭区域,并分别用相应的颜色填充。 例1:绘制对称区间上正态分布概率密度曲线填充图 参考代码如下: clear all clc %绘制正态概率密度函数对应的填充图 x1 = [ -8 : 0.2 : 8 ]; y1 = 2 * exp( -( x1 ).^2 / 2 ); fill( x1, y1, 'b' ) hold on %绘制非对称区间上正态概率密度函数对应的填充图 x2 = [ 1: 0.1 : 10 ]; y2 = -2 * exp( -( x2 - 2 ).^2 / 2 ); fill( x2, y2, 'r' ) title( ' fill demo ' )运行结果: 上面的图形也可以使用如下代码实现,也就是使用在fill中同时绘制两个图形。代码如下: clear all clc x1 = [ -8 : 0.2 : 8 ]; y1 = 2 * exp( -( x1 ).^2 / 2 ); x2 = [ 1: 0.1 : 10 ]; y2 = -2 * exp( -( x2 - 2 ).^2 / 2 ); fill( x1, y1, 'b', x2, y2, 'r' ) title( ' fill demo ' )例2: 使用颜色矩阵绘制填充图。 参考代码如下: x3 = [ 1 : 0.5 : 5 ]; y3 = x3.^2; c = [ randn(length(x3), 1) ];%颜色矩阵,可以根据自己的需要指定 fill( x3, y3, c ) hold on y4 = -x3.^2; fill( x3, y4, 'c' )%此处的c是青色 title( 'color matris fill demo' )运行结果: 三、area命令的简单用法基本语法 1)area(x, y, ‘name1’, value1, ‘name2’, value2, …) 功能:绘制曲线段(x,y)与x轴围成封闭图形的同色填充的区域图。 name的常用值如下: FaceColor:填充的颜色,其值必须是rgb格式的颜色数组 EdgeColor:边缘线的颜色,其值必须是rgb格式的颜色数组 FaceAlpha:透明度,其值是0~1之间的实数 LineStyle:线元属性,即用什么样图元绘图,例如‘-’表示直线,‘:’表示虚线 2)area(X) 功能:X为矩阵,以 列 为单位绘制曲线,并用同色填充 例3:绘制曲线y=x^2在[-1,1]区间上的一段与x轴围成封闭图形的填充图。 参考代码: clear all clc x = [ -1 : 0.01 : 1 ]; y = x.^2 ; area( x, 2*y, 'FaceColor', [ 1, 0, 0 ] ) axis( [ -2, 2, 0, 2 ] )运行结果: 例4:绘制正态概率密度函数曲线的填充图 参考代码如下: clear all clc x = [ -8 : 0.2 : 8 ]; y1 = 0.6 * exp( -(x+3).^2 / 2 ); area( x, y1, 'FaceColor', [ 0, 1, 1 ], 'FaceAlpha', 0.5 ); hold on y2 = 0.5 * exp( -x.^2 / 2 ); area( x, y2, 'FaceColor', [ 1, 0, 1 ], 'LineStyle', ':', 'FaceAlpha', 0.5 ); y3 = 0.4 * exp( -(x-2).^2 / 2 ); area( x, y3, 'FaceColor', [ 1, 1, 0 ], 'LineStyle', '-.', 'FaceAlpha', 0.6 ); %也可以使用函数normpdf获取指定均值和方差的正态分布概率密度曲线上的纵坐标 y4 = 0.2 * normpdf( x/5, 0, 1 ); area( x, y4, 'FaceColor', [ 0.5, 0.8, 0.2 ], 'FaceAlpha', 0.6, 'EdgeColor', [ 1, 0, 0 ] );运行结果: 例5:绘制5阶魔方矩阵的填充图 参考代码如下: clear all clc x = magic(5) area( x )运行结果: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |