matlab—进阶绘图

栏目: 编程工具 · 发布时间: 6年前

内容简介:重点主要放在

Logarithm Plots

画一些与对数(log)有关的图像,log,既可以是图像是log,又可以是坐标轴log,用一个例子来说明

matlab—进阶绘图

首先看到第一个函数 logspace(a,b,c) ,这个函数的作用与 linspace() 差不多,创建一个以10^a为起始,10^b 为终止,中间被等分成 c 个的数据数组,所以 x = [10^-1,10^1] ,那么 y = [10^-2,10^2]

重点主要放在 semilogx()semilogy()loglog() 这三个函数上,他们的作用见下表

函数 作用
semilogx x 轴为对数刻度,y 轴为线性刻度
semilogy x 轴为线性刻度,y 轴为对数刻度
loglog x 轴和 y 轴均为对数刻度

plotyy()

有时候在一张图上花了两条曲线,但是这两条曲线如果对应的 y 的值域不一样, plotyy() 函数可以在一个图上做出两个 y 轴

matlab—进阶绘图

Histogram

matlab—进阶绘图 首先是第一行的 randn() 函数,这个函数的的作用是产生正态分布的随机数或矩阵,其调用格式为: randn(m,n) ,返回一个m*n的满足正态分布的矩阵。

hist() 函数调用格式为: hist(y,nbins) ,将向量 y等分到 nbins个等间隔范围内 ,并返回每个范围内元素的个数

bar

matlab 中 bar() 函数的作用是绘制直方图,常用于统计或数据采集。共有四种形式: barbar3barhbar3h ,其中 barbar3 分别用来绘制二维和三维竖直方图, barhbar3h 分别用来绘制二维和三位水平直方图,其调用格式为: bar(x,y) ,其中 x 必须单调递增或递减,y 为 m*n 的矩阵,产生的结果为 m 组,每组 n 个垂直柱。 bar(...,'grouped') ,使同一组直方条紧紧靠在一起。 bar(...,'stack') ,把同一组数据描述在一个直方条上

matlab—进阶绘图

Pie Charts

pie() 函数用于描绘圆饼图

x = [1 1 2 2 3 4 5];
pie(x);
matlab—进阶绘图

x中的数据被看作频数,饼图中的比例:x[i]/sum(x),当 x 中所有元素的元素和 sum(x) < 1 时,图形不是一个整圆,例如 x = [0.1,0.2,0.3] 时,得到

matlab—进阶绘图

Pie3

pie3() 用于描绘三维饼图

x = [2 3 5];
pie3(x);

matlab—进阶绘图

Polar chart

polar() 用于描绘极坐标图像,其调用格式为: polar(theta,rho); ,其中 theta 是用弧度制表示的角度, rho 对应半径

matlab—进阶绘图

stairs and stem charts

stairs()stem() 两个函数的用法与 plot() 函数类似,只不过这两个,一个是画阶梯图,另个是画针状图

matlab—进阶绘图

errorbar

errorbar顾名思义,就是指有误差范围的。其调用格式为: errorbar(x,y,l,u) ,x 是自变量,y 是因变量,l 是 y 的变动下限,u 是 y 的变动上限,或者 errorbar(x,y,e) ,e 是 y 的变动绝对值

matlab—进阶绘图

fill

fil(x1,y1, 选项 1,x2,y2, 选项 2,······) 按向量元素的下标渐增次序依次用直线段连接 x,y 对应元素定义的数据点。假如这样连线所得的折线不封闭,那MATLAB会自动将折线首尾连接起来,形成封闭多边形,然后在多边形内部涂满指定颜色

matlab—进阶绘图

plot3

三维曲线函数 plot3() ,其调用格式为: plot(x,y,z,’style’); ,x,y,z 分别对应三个坐标轴,style 可以是线的颜色,风格样式

matlab—进阶绘图

meshgrid

上面讲的 3d 画图的方法是关于线的,如果想画一个与能呈现出面的图,就要用到 meshgrid() 函数,其调用格式为: [x,y] = meshgrid(x,y); 由向量 x 和 y 生成二维数组,用来计算二元函数 f(x,y) 的值 z=f(x,y)

三维网格图

  • mesh(x,y,z) :绘制由数组 X,Y,Z 所确定的曲面网格图,X,Y,Z都为二维数组时,要求它们的维数相同。X,Y 也可以是向量,但 Z 必须为二维数组, [m,n] =size(Z) ,此时必须满足: length(X) = nlength(Y) = m
  • mesh(z) :相当于 X = 1:nY = 1:m ,其中 [m,n] = size(Z)
  • mesh(...,C) :二维数组 C 确定网格颜色,省略 C 时相当于 C=Z
  • mesh(...,'PropertyName',PropertyValue,...) :设置属性值

matlab—进阶绘图 matlab—进阶绘图 这里我多加了个 hidden off ,这个命令是使每个四边形区域不填充任何颜色,这样就可以看到后面的图像

meshz(X,Y,Z) 调用方式与 mesh 相同,在 mesh 的基础上屏蔽边界面

matlab—进阶绘图

meshc(X,Y,Z) 调用方式与 mesh 相同,在 mesh 的基础上增加等高线

matlab—进阶绘图

等值线图

contour(z)
contour(z,n)
contour(z,v)

matlab—进阶绘图

三维表面图

  • surf(Z) :相当于 X = 1:n ,Y = 1:m,其中 [m,n] = size(Z)
  • surf(Z,C) :二维数组 C 确定网格颜色,省略 C 时相当于 C=Z
  • surf(...,'PropertyName',PropertyValue) :设置属性值

matlab—进阶绘图

surfc(X,Y,Z) 调用方式与 surf 相同,在 surf 的基础上增加等高线

matlab—进阶绘图 matlab—进阶绘图 matlab—进阶绘图 matlab—进阶绘图

一些图书图形的绘制

matlab—进阶绘图 matlab—进阶绘图 matlab—进阶绘图

cylinder

matlab 为我们提供了绘制柱面的函数 cylinder,其调用格式为:

[x,y,z] = cylinder
[x,y,z] = cylinder(r)
[x,y,z] = cylinder(r,n)

matlab—进阶绘图

sphere

matlab 为我们提供了绘制球面的函数sphere,其调用格式为:

sphere
sphere(n)

matlab—进阶绘图

ellipsoid

matlab 为我们提供了绘制椭球面的函数ellipsoid,其调用格式为:

[x,y,z] = ellipsoid(xc,yc,zc,a,b,c,n)
[x,y,z] = ellipsoid(xc,yc,zc,a,b,c)

matlab—进阶绘图


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人人都在说谎

人人都在说谎

赛思·斯蒂芬斯--达维多维茨 / 胡晓姣、张晨、左润男 / 中信出版集团 / 2018-11 / 58

有多少人买了书真正看完了? 你朋友的酒量有他说的那么大吗? 父母是否暗自喜欢男孩儿多于女孩儿? 电影里暴力镜头增多会导致犯罪率升高吗? 种族歧视在现如今的美国还严重吗? 特朗普的胜利有征兆吗,什么促成他赢得了大选? …… 你知道问题的答案吗,直觉会怎样告诉你? 作者赛思·斯蒂芬斯--达维多维茨是一位前谷歌数据科学家和专栏作家。他的研究发现,世界充满了......一起来看看 《人人都在说谎》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换