matlab干货总结(三)基础学习篇之数据可视化

4 篇文章 2 订阅
1 篇文章 0 订阅

数据可视化篇:

一.图形绘制

1.离散型

点根据函数形成的图像,图像问题大家最好动手做一做,这样学得会很快。

X1=[1 2 4 6 8 10 11 12 14 16 17 18 20];
Y1=[1 2 4 6 8 10 10 8 7 6 4 2 1];
figure(1)
plot(X1,Y1,'o','MarkerSize',15)  %数字代表标记点大小
X2=1:20;
Y2=log(X2);
figure(2)
plot(X2,Y2,'o','MarkerSize',15)

图像1 

图像2

2.连续型

X1=(0:12)*pi/6;Y1=cos(3*X1);
X2=(0:360)*pi/180;Y2=cos(3*X2);
figure(1)
subplot(2,2,1);plot(X1,Y1,'o','MarkerSize',3);xlim([0 2*pi]) 
title('图1')
%补充:subplot:在平铺位置创建坐标区
% subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区
% xlim  设置或查询 x 坐标轴范围
subplot(2,2,2);plot(X1,Y1,'LineWidth',2);xlim([0 2*pi])  
title('图2')
subplot(2,2,3);plot(X2,Y2,'o','MarkerSize',3);xlim([0 2*pi]) 
title('图3')
subplot(2,2,4);plot(X2,Y2,'LineWidth',2);xlim([0 2*pi]) 
title('图4')

二.二维绘制

x=0:0.01*pi:pi*0.5;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'r','LineWidth',5);hold on;  %hold on在之前图像基础上不刷新,直接接下面的
x=pi*0.5:0.01*pi:pi;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'y','LineWidth',5);hold on;
x=-pi:0.01*pi:-pi*0.5;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'b','LineWidth',5);hold on;
x=-pi*0.5:0.01*pi:0;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'g','LineWidth',5);hold on;
title('极坐标系');  %text 在图上写字
text([1.5 -3 1.5 -3],[2 2 -2 -2],{'第一象限','第二象限','第三象限','第四象限'})
legend({'[0 0.5\pi]','[0.5\pi \pi]','[\pi 1.5\pi]','[1.5\pi 2\pi]'}) %右上角标签
xlim([-5 5]);ylim([-5 5]);% 自己做xy轴
plot([-4 4],[0 0],'k','LineWidth',3);hold on;
plot([0 0],[-4 4],'k','LineWidth',3);hold on;
axis off  %取消坐标轴标签及背景

1.fplot指令

此指令就是用matlab里面自带的函数等算法来绘制图像

clear all  %清楚显示的执行过程数据
clc
fplot(@sin,[-2*pi 2*pi])
grid on %显示网格
title('sin(x) from -2\pi to 2\pi')
xlabel('x');
ylabel('y');

2.bar函数

补充:colormap(map)查看并设置当前颜色图,对于颜色如下

x=-2:2;
Y=[6 8 7 4 5;4 8 1 12 0;4 6 21 1 3];
subplot(1,2,1),bar(x',Y','stacked') %垂直直方图
xlabel('x'),ylabel('\Sigma y'),colormap(cool) %colormap查看并设置当前颜色图
legend('因素1','因素2','因素3')
subplot(1,2,2),bar(x',Y','grouped') %水平直方图
xlabel('y'),ylabel('x')

3.pie函数

pie(X,explode) 将扇区从饼图偏移一定位置。

补充:explode 是一个由与 X 对应的零值和非零值组成的向量或矩阵。pie 函数仅将对应于 explode 中的非零元素的扇区偏移一定的位置。

%2D图像
x=[1 5 0.5 3.5 2];
explode = [0 1 0 0 0];
pie(x,explode)
colormap jet

%3D图像
x=[1 5 0.5 3.5 2];
explode = [0 1 0 0 0];
pie3(x,explode)
colormap hsv

4.hist函数

直方图

x=-4:0.1:4;
y=randn(5000,1);
hist(y,x)

5.scatter函数

散点图

scatter(x,y,sz,c,'filled')    ----sz指定圆的大小;c指定颜色;filled填充圆圈

clear all
figure;
x=[1 5 6 7 9 5 1 3 12 20];
y=[20 15 6 3 1 5 3 0 1 5];
subplot(1,2,1);
scatter(x,y);
title('散点图')
subplot(1,2,2);
scatter(x,y,[],[1,0,0],'fill')
title('散点图-填充')

三.三维绘制

1.网格图

meshgrid生成格点矩阵

clear all
X=-10:0.1:10;Y=-10:0.1:10;
[X,Y]=meshgrid(X,Y);
Z=-X.^2-Y.^2+200;
mesh(X,Y,Z)
title('网格图')

2.曲面图

surf指令完成;mesh指令绘制是网格划分曲面图,surf得到平滑着色的三维曲面图

peaks 是从高斯分布转换和缩放得来的包含两个变量的函数

[x,y,z]=peaks(25);
figure
surf(x,y,z)
mesh(x,y,z)

3.光照模型

figure
surf(X,Y,Z,'FaceColor','red','EdgeColor','none');
camlight left;lighting phong
view(-15,65)

四.四维可视化

[x,y,z]=peaks(30);
r=sqrt(x.^2+y.^2);
subplot(1,2,1);surf(x,y,z,z);
axis tight  %数据范围直接设定为坐标范围
subplot(1,2,2);surf(x,y,z,r);
axis tight

四维简单举个例子,不是很难理解。

可视化部分也很简单,主要的几个函数指令运用好就可以了。

本人尚才疏学浅,如内容中有任何错误的地方,望告知,我会加以修改,之后会继续更新。

 

  • 11
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值