我是靠谱客的博主 顺利金毛,最近开发中收集的这篇文章主要介绍matlab干货总结(三)基础学习篇之数据可视化数据可视化篇:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据可视化篇:

一.图形绘制

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.5pi]','[0.5pi pi]','[pi 1.5pi]','[1.5pi 2pi]'}) %右上角标签
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 -2pi to 2pi')
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

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

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

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

 

最后

以上就是顺利金毛为你收集整理的matlab干货总结(三)基础学习篇之数据可视化数据可视化篇:的全部内容,希望文章能够帮你解决matlab干货总结(三)基础学习篇之数据可视化数据可视化篇:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部