在MATLAB的数据可视化中,绘制点图是最基础也是最常用的操作之一。MATLAB提供了plot函数和scatter函数两种主要方式来绘制点图,两者在功能定位、参数配置和适用场景上存在显著差异。plot函数本质上是折线图函数,通过指定标记符号可以绘制点图;而scatter函数是专门的散点图函数,支持逐点设置大小和颜色。本文将详细讲解这两个函数的核心用法和参数配置。
plot函数是MATLAB中最基础的绘图函数,默认绘制折线图,但通过指定标记符号(Marker)并取消连线,即可实现点图效果。
基本语法
plot(x, y, 'LineSpec')
其中LineSpec是线条规格字符串,可以组合颜色、标记符号和线型。
核心参数配置
颜色参数:支持单字符简写(如'r'红色、'g'绿色、'b'蓝色、'k'黑色)和完整颜色名(如'red'),也支持RGB三元组(如[0.5, 0.3, 0.8])和十六进制颜色码(如'#FF8800')。
标记符号:支持多种形状,常用的有'o'(圆圈)、'.'(点)、'*'(星号)、'+'(加号)、'x'(叉号)、's'(方块)、'd'(菱形)、'^'(上三角)、'v'(下三角)、'p'(五角星)等。
线型参数:'-'(实线)、'--'(虚线)、':'(点线)、'-.'(点划线)。绘制纯点图时,可以省略线型或设为'none',仅保留标记。
Name-Value参数:'MarkerSize'设置标记大小(单位为磅,默认值为6);'MarkerEdgeColor'设置标记边缘颜色;'MarkerFaceColor'设置标记填充颜色;'LineWidth'设置线条宽度。
代码示例
x = 1:10;
y = rand(1, 10);
% 绘制红色圆圈点图
figure;
plot(x, y, 'ro', 'MarkerSize', 8, 'MarkerFaceColor', 'r');
title('plot函数绘制点图');
xlabel('X轴');
ylabel('Y轴');
grid on;scatter函数是MATLAB专门用于绘制散点图的函数,相比plot函数,它最大的优势在于支持逐点设置不同的大小和颜色,非常适合展示多维数据。
基本语法
scatter(x, y, sz, c, 'filled', mkr)
核心参数配置
sz(点的大小):可以是一个标量(所有点大小相同),也可以是一个与x、y等长的向量(每个点大小不同)。注意,scatter中的大小参数单位是面积(平方磅),与plot中的MarkerSize(线性尺寸,单位磅)不同。
c(点的颜色):可以是颜色字符串(如'r')、RGB三元组,也可以是一个与x、y等长的数值向量,此时MATLAB会根据数值大小自动映射颜色,并生成颜色条。
'filled':将标记填充为实心,默认情况下标记为空心。
mkr(标记类型):指定标记形状,如'o'(圆圈,默认)、'd'(菱形)、's'(方块)等。
Name-Value参数:'MarkerEdgeColor'设置边缘颜色;'MarkerFaceColor'设置填充颜色;'LineWidth'设置边缘线宽。
代码示例
x = randn(100, 1);
y = randn(100, 1);
sz = rand(1, 100) * 100; % 随机大小
c = rand(1, 100); % 随机颜色值
figure;
scatter(x, y, sz, c, 'filled');
colorbar; % 显示颜色条
title('scatter函数绘制散点图');
xlabel('X轴');
ylabel('Y轴');两个函数虽然都能绘制点图,但在功能定位上有本质区别:
大小单位不同:plot的MarkerSize是线性尺寸(磅),值通常较小(如6、10);scatter的sz是面积(平方磅),值通常较大(如50、100)。
逐点定制能力:plot函数对所有点统一设置大小和颜色,无法逐点差异化;scatter函数支持每个点拥有不同的大小和颜色,适合展示第三维甚至第四维数据信息。
返回值类型:plot返回Line对象,scatter返回Scatter对象,后续修改属性的方式略有不同。
性能差异:当数据量非常大(如数十万点)时,scatter函数的渲染开销明显高于plot函数。
选择建议如下:
如果所有点的大小和颜色相同,且数据量较大,优先使用plot函数,性能更优。
如果需要每个点拥有不同的大小或颜色来展示额外维度的信息,必须使用scatter函数。
如果需要在同一张图中同时展示折线和数据点,使用plot函数更为方便,例如plot(x, y, 'b-o')可以同时绘制蓝色折线和圆圈标记。
![]()
plot函数和scatter函数是MATLAB中绘制点图的两种核心工具。plot函数语法简洁、性能优异,适合绘制统一样式的点图或与折线混合展示;scatter函数功能强大,支持逐点设置大小和颜色,是展示多维数据分布关系的利器。理解两者的参数体系和适用场景,能够帮助我们在数据可视化中选择最合适的工具,高效地呈现数据特征。
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
通过手机号码查询近3个月总停机次数标签信息,统计近3个月内停机的次数。
通过手机号查询判断该号码实名用户年龄区间标签信息。
通过三网运营商手机号码和指定月份,查询号码近3个月话费消费区间标签详情及评分。
通过车架号或车牌号查询车辆是否为营运车辆
通过车架号查询车辆的如品牌名称、车系名称、车型、排量、排放标准、外形尺寸、轮胎规格、变速器类型、公告号、轴距等等详细信息