matlab 三维饼图,重新学习MATLAB——作图技法及3D可视化
了解点儿MATLAB,知道它非常有用,但一直不太会用,如何快速掌握并运用它呢?
本专栏力争用最简洁的语言和逻辑,让您在最短时间内,学到教材课程中罕见的MATLAB运用技法,从新手迈向成手。
超强的MATLAB作图功能
MATLAB不仅是处理矩阵的神器,还是矩阵可视化的神器。
什么叫矩阵可视化?
其实,我们分析数据/处理信号/解析图像等等这一类的操作,都是对矩阵的操作,并把它可视化出来。
水波图像看着复杂,其实无非是可视化的矩阵而已
直接上手最常用作图函数——plot
plot,用来绘制二维的图线。
x = 0:pi/100:2*pi;y = sin(x);plot(x,y)
自动弹出一个界面并显示结果
观察一下代码,x是从0到2pi(也就是360度),间隔是pi/100,也就是说,分成了200小段。
x是个向量,所以y=sin(x)也是一个相同尺寸的向量。
plot(x,y)就是把对应位置的xy连成直线。
有同学会问了,我明明看到的是曲线,你怎么说是直线?
这样,我把x变成 x = 0:pi/5:2*pi ,再看看结果:
分的段过少,图线误差就大,变成折线了
所以说,完全取决于分成多少小段,类似于图像处理中的分辨率。
常用技术:一图画多线
一张图中,为了方便对比,想一起画n条曲线,怎么做呢?x = linspace(-2*pi,2*pi);y1 = sin(x);y2 = cos(x);figureplot(x,y1,x,y2)
一图多线,方便对比
说明:linspace的用法类似于冒号;需要写2遍x,不可遗漏。
plot其它功能介绍
plot太常用了,是绘图的基础,大家一定help看一下,这里再详细补充一下。
plot还有太多功能了,比如:设置线型/线颜色/线粗
设置marker的形状/颜色/大小
设置标题和坐标轴
设置网格线和标注
使用subplot实现一张大图中多个小图
来个例子吧。
ax1 = subplot(2,1,1); % top subplotx = linspace(0,3);y1 = sin(5*x);plot(ax1,x,y1)title(ax1,'Top Subplot')ylabel(ax1,'sin(5x)')ax2 = subplot(2,1,2); % bottom subploty2 = sin(15*x);plot(ax2,x,y2)title(ax2,'Bottom Subplot')ylabel(ax2,'sin(15x)')
一张大图中包含两个小图
这里的subplot(2,1,1)明显又是矩阵思维,“2,1” 不就是代表2行1列的意思么!
所以说,矩阵思维贯穿MATLAB始终。
三种常用2D作图之——条形图bary = [2 2 3; 2 5 6; 2 8 9; 2 11 12];bar(y)
自动分组,自动上色
挺方便的吧,几个数字就完成一张图的绘制。
这里观察y的结构和bar图的对应关系,可以知道,每一行被认为是一组,每一列是一类数据共用同样的颜色。
误差线图errorbar是条形图中很常用的形式了,尤其学工程尤其医学工程类的同学,是不可不知的——
x = linspace(0,10,15);y = sin(x/2);err = 0.3*ones(size(y)); % 这里的误差是“生成”出来的并不是实验的真实数据errorbar(x,y,err,'-s','MarkerSize',10,... 'MarkerEdgeColor','red','MarkerFaceColor','red')
误差线图——每个“工”字形代表这个数据的误差范围
三种常用2D作图之——直方图histx = randn(1000,3); hist(x)
能看出正态分布的趋势么?
这里使用了一个正态分布的随机函数randn,1000行3列。还有一种漂亮的极坐标直方图——rose
一看名字就知道她的美丽了,为啥叫“玫瑰”呢?请看——
theta = [0.4 1.4 3.1 2.3 0.4 2.5 3.9 2.8 2.3 1.6 4.6 4.5 6.1 3.9 5.1];rose(theta,10)
多像一朵玫瑰花
这是极坐标下的直方图形式,需要注意的是,虽然有点像,但它并不是传统意义上的饼图,因为饼图有专用的函数——
三种常用2D作图之——饼图pieX = [1 3 0.5 2.5 2];pie(X)
自动产生比重值和颜色
X是一个向量,每个元素代表一类对象的值。
再来一个高级用法:
X = categorical({'North','South','North','East','South','West'});explode = {'West'};labels = {'E','N','S','W'};pie(X,explode,labels)
MATLAB的饼图也挺好看的吧
matlab 三维饼图,重新学习MATLAB——作图技法及3D可视化相关推荐
- matlab实验学习心得,matlab实验心得体会-学习matlab的心得体会
matlab实验心得体会-学习matlab的心得体会 导语:通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法. ...
- matlab三维立体空间图,三维空间作图.ppt
三维空间作图 数学软件 Matlab 本讲主要内容 手工作图 手工作图 Matlab 绘图 二维作图命令 二维作图命令 图形的属性 点和线的基本属性 添加标题 添加坐标轴标注 绘制多个函数图像 添加图 ...
- matlab要掌握什么,学习matlab需要什么基础?
MATLAB是一门较为高级的语言,在科学研究.金融建模.数学运算方面有非常重要的用处,被广泛运用在各行各业.同时,MATLAB语言比较友好,语法方面的限制很少,交互性做的很好,更重要的是有庞大的库函数 ...
- matlab三维图加上四维,matlab 3D+颜色的四维函数的作图
函数f=f(x,y,z),x,y,z是三维坐标轴,要画的图中要以x,y,z为三个轴,尝试用surf(x,y,z,f),出来的表面图是用颜色表示了f的大小,为了更直观一些,能不能同时通过表面起伏来表示f ...
- matlab 三维点 边界曲面,不用matlab如何从散点数据绘制极坐标三维曲面图?
[ 在 OSN10 (老洪) 的大作中提到: ] : 标 题: Re: 不用matlab如何从散点数据绘制极坐标三维曲面图? : 发信站: 水木社区 (Sat Dec 15 20:47:17 201 ...
- matlab中饼图绘制程序,MATLAB中绘制二维饼图的函数是(? ? ) (1.5分)
MATLAB中绘制二维饼图的函数是(? ? ) (1.5分) 答:pie 计算机的内存储器比外存储器读写速度 ______ 答:快 新民主主义革命时期,提出了反帝反封建这个任务就等于真正懂得了什么叫反 ...
- matlab三维海浪代码,基于Matlab的不规则海浪三维仿真
Vol. 15 No. 7 系 统 仿 真 学 报 July 2003 JOURNAL OF SYSTEM SIMULATION • 1057 • 基于 Matlab 的不规则海浪三维仿真 李 晖 1 ...
- matlab三维数组怎么定义,matlab如何定义三维数组?
满意答案 _nexo 2017.10.12 采纳率:59% 等级:8 已帮助:2410人 (1)在Matlab中习惯性的会将二维数组中的第一维称为"行"第二维称为" ...
- matlab三维凸包,计算凸包
- MATLAB Simulink
- MathWorks 中国
使用 convhull 和 convhulln 计算凸包 convhull 和 convhulln 函数取一个点集,输出位于凸包边界上的点的索引.凸包基于点索引的表示法支持绘图,且便于数据访问.下面这 ...
最新文章
- C语言:随笔5--指针1
- ALV分类合计功能实现
- 美国伊利诺伊大学香槟分校计算机专业,伊利诺伊大学香槟分校计算机科学排名第7(2020年TFE美国排名)...
- [多图]全球范围内Linux用户普及度数据
- 如何从rpm包中提取文件
- 数据科学 IPython 笔记本 7.1 Pandas
- SpringCloud工作笔记032---SpringCloud异常(Euruka):Application run failed java.lang.NoSuchMethodError: org.
- 算法导论 思考题6-2
- shell脚本监控cpu/内存使用率 转
- 数学建模matlab实验报告,数学建模实验.doc
- (日常搬砖)Linux常用指令记录(更新ing)
- Abaqus单位制简述
- 大话设计模式 设计模式书籍 编程书籍
- Java 生成随机中文、英文姓名(上)
- ai画面怎么调大小_Adobe Illustrator(Ai)里怎么改变图像大小,快捷键是什么?
- 为什么微信连接不上服务器失败怎么回事啊,微信为什么一直提示连接失败请检查网络设置...
- 聚类 k-means、yellowbrick和信用卡用户实例 -- 023
- 黑马NLP实战 --- 新闻分类模型训练
- 从零开始使用AntDB
- 全息投影在博物馆中有哪些作用
热门文章
- mysql 环形复制_mysql复制(Replication)
- hive python udf_python udf方法
- js判断浏览器是否支持webGL
- matlab中system prt,急!!求救!!MATLAB关于prt报错!
- mysql正则表达式配置,MySQL REGEXP:正则表达式
- java入门第六天课程_java基础第六天
- mac睡眠快捷键_mac键盘快捷键大全
- 计算机internet服务,计算机基础与应用——04Internet上的信息服务.ppt
- mysql带where条件导出数据表以及部分错误解析
- 我们究竟还要学习哪些Android知识?面试真题解析