Matlab学习入门篇(五)—— 数据可视化


数据可视化是指运用 计算机图形学图像处理技术,将数据转化为图形或图像并在屏幕上显示出来,以进行交互处理的理论、方法和技术。该技术的特点如下:

  • 交互性:以交互的方式管理和开发数据。
  • 多维性:可以看到对象或事件的数据的多个属性或变量,并且可以按照数据每一维的值,将其分类、排序、组合和显示。
  • 可视化:数据可以用图像、曲线等显示,并可对其模式和相互关系进行可视化分析。

这里仅给出离散数据图、线图以及曲面等作为示范,更多的内容和细节可以去matlab官网学习:
https://ww2.mathworks.cn/help/matlab/graphics.html?s_tid=CRUX_lftnav

一、离散数据图

1.1散点图

创建 x 为 0 和 3π 之间的 200 个等间距值、创建 y 为带随机干扰的余弦值,根据以上创建一个散点图:

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);  
scatter(x,y)

接下来可以改变圆圈大小,以平方磅为单位指定大小

sz = linspace(1,100,200)

当然也可以改变圆圈的颜色

c = linspace(1,10,length(x));
scatter(x,y,[],c)

上述图形的完整代码:

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200); 
c = linspace(1,10,length(x));
scatter(x,y,[],c)

1.2 条形图

利用 tiledlayoutnexttile 函数显示分块条形图。调用 tiledlayout 函数以创建一个 2×1 分块图布局、调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在顶部坐标区中显示条形图。在底部坐标区中,显示相同数据的堆叠条形图。
更多有关函数的使用查阅官网:
tiledlayout函数
nexttile

y = [1 2 3; 4 5 6];
tiledlayout(2,1)

% Top bar graph
ax1 = nexttile;
bar(ax1,y)

% Bottom bar graph
ax2 = nexttile;
bar(ax2,y,'stacked')

二、线图

2.1.二维线图

绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条正弦曲线使用绿色线条,不带标记。第二条正弦曲线使用蓝色虚线,带圆形标记。第三条正弦曲线只使用青蓝色星号标记。

x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

2.2 三维参数化曲线绘图函数

例1:指定线条属性并显示标记
在参数的不同区间,将同一条三维参数化曲线绘制三次。对于第一个区间,使用 2 磅的线宽。对于第二个,指定带有圆形标记的红色虚线线型。对于第三个,指定带有星号标记的青蓝色点划线线型。

fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [0 2*pi], 'LineWidth', 2)
hold on
fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [2*pi 4*pi], '--or')
fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [4*pi 6*pi], '-.*c')
hold off

例2:为从 −2π 到 2π 范围内的 t 值绘制参数化线条

xt = @(t)t;
yt = @(t)t/2;
zt = @(t)sin(6*t);
fplot3(xt,yt,zt,[-2*pi 2*pi],'MeshDensity',30,'LineWidth',1);

title('x=t, y=t/2, z=sin(6t) for -2\pi<t<2\pi')
xlabel('x');
ylabel('y');
view(52.5,30)
box on

三、曲面、体积和多边形

创建三个相同大小的矩阵。然后将它们绘制为一个曲面。曲面图对高度和颜色均使用 Z

[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
surf(X,Y,Z)

创建三个相同大小的矩阵。然后将它们绘制为一个网格图。该绘图使用 Z 确定高度和颜色。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

也可以向图中增加颜色栏实现颜色比对:

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
C = X.*Y;
mesh(X,Y,Z,C)
colorbar

本章涉及实际应用较多,不论是在论文还是科研上都对本章的应用实践要求较高。因此对绘图的基本语法还需要多运用才会有更深刻的体会。以上就是Matlab入门篇的内容,下一段就正式进入到高级篇的学习啦~

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值