当前位置:网站首页>MATLAB绘制平面填充图入门详解
MATLAB绘制平面填充图入门详解
2022-08-02 14:10:00 【杨老头软工】
一、引言
在画图的时候,为了让图形更加清晰突出,往往需要对某一条或几条曲线围成的区域进行填冲颜色,以得到填充图。对于平面图形的填充,可以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 )
运行结果:
边栏推荐
- 【我的电赛日记(三)】STM32学习笔记与要点总结
- LORA芯片ASR6505无线远距离传输8位MCU
- FP6293电池升压5V-12V大电流2APWM模式升压方案
- win10系统更新错误代码0x80244022怎么办
- FP7195转模拟调光技术解决智能家居调光频闪和电感噪音的原理
- Actual combat Meituan Nuxt +Vue family bucket, server-side rendering, mailbox verification, passport authentication service, map API reference, mongodb, redis and other technical points
- SQL的通用语法和使用说明(图文)
- 【使用Pytorch实现ResNet网络模型:ResNet50、ResNet101和ResNet152】
- 让深度学习歇一会吧
- HAL框架
猜你喜欢
Win10 cannot directly use photo viewer to open the picture
STM32LL库使用——SPI通信
win10 system update error code 0x80244022 how to do
【系统设计与实现】基于flink的分心驾驶预测与数据分析系统
还是别看学位论文
【我的电赛日记(二)】ADF4351锁相环模块
Win7遇到错误无法正常开机进桌面怎么解决?
ECP2459耐压60V降压BUCK电路用于WIFI模块供电方案原理图
PyTorch⑦---卷积神经网络_非线性激活
FP7195大功率零压差全程无频闪调光DC-DC恒流芯片(兼容调光器:PWM调光,无极调光,0/1-10V调光)
随机推荐
A clean start Windows 7?How to load only the basic service start Windows 7 system
win10任务栏不合并图标如何设置
【系统设计与实现】基于flink的分心驾驶预测与数据分析系统
PHY6222蓝牙5.2支持MESH组网M0内核超低功耗
2020-02-06-快速搭建个人博客
STM32LL库——USART中断接收不定长信息
DP4301无线收发SUB-1G芯片兼容CC1101智能家居
SQL的通用语法和使用说明(图文)
CMAKE
cmake配置libtorch报错Failed to compute shorthash for libnvrtc.so
2021-10-14
How to solve Win11 without local users and groups
Win11 computer off for a period of time without operating network how to solve
How to update Win11 sound card driver?Win11 sound card driver update method
PyTorch①---加载数据、tensorboard的使用
用U盘怎么重装Win7系统?如何使用u盘重装系统win7?
镜像法求解接地导体空腔电势分布问题
基于51单片机和物联网的智能家居系统(ESP8266物联网模块)
BLE蓝牙5.2-PHY6222系统级芯片(SoC)智能手表/手环
PyTorch②---transforms结构及用法、常见的Transforms