matlab—进阶绘图

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

内容简介:重点主要放在

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—进阶绘图


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

查看所有标签

猜你喜欢:

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

Python Machine Learning

Python Machine Learning

Sebastian Raschka / Packt Publishing - ebooks Account / 2015-9 / USD 44.99

About This Book Leverage Python' s most powerful open-source libraries for deep learning, data wrangling, and data visualization Learn effective strategies and best practices to improve and opti......一起来看看 《Python Machine Learning》 这本书的介绍吧!

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

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具