meshgrid

5. matlab入门——图形标注、特殊绘图、三维绘图

会有一股神秘感。 提交于 2020-04-06 02:34:32
1、图形标注 (1)图形标题   title(标题)   title(标题,属性名,属性值) %% 图形标注 x = 0:0.11:2*pi; y = sin(x); plot(x,y); title('y=sin(x)示范','color','r'); (2)坐标轴标签   xlabel(标签,属性名,属性值)   ylabel(标签,属性名,属性值) %% 坐标轴标签 x = 0:0.11:2*pi; y = sin(x); plot(x,y); xlabel('X轴数据示范','color','r','fontsize',12); ylabel('Y轴数据示范','color','b','fontsize',12); title('y=sin(x)示范','color','r'); (3)图例   legend(图例说明) %% 图例 x = 0:0.11:2*pi; y1 = sin(x); y2 = cos(x); y3 = sin(x)+cos(x); plot(x,[y1;y2;y3]); legend('sin(x)','cos(x)','sin(x)+cos(x)'); 2、特殊绘图 (1)柱状图bar   bar(y)   bar(x,y)   barh(x,y)   bar(y,'stacked') 堆积图 %% 柱状图 y = rand(5,3); bar

meshgrid()函数

a 夏天 提交于 2020-02-06 07:26:27
函数功能 假设有两个向量x=[1:3], y=[1:2],通过meshgrid()函数我们可以得到 假设有三个向量x=[1:3],y=[4:5],z=[6:10],通过meshgrid()函数我们可以得到 m的三维表示: n的三维表示: l的三维表示: 函数源码 function [ xx,yy,zz ] = meshgrid ( x,y,z ) %MESHGRID Cartesian grid in 2-D/3-D space % [ X,Y ] = MESHGRID ( xgv,ygv ) replicates the grid vectors xgv and ygv to % produce the coordinates of a rectangular grid ( X, Y ) . The grid vector % xgv is replicated numel ( ygv ) times to form the columns of X. The grid % vector ygv is replicated numel ( xgv ) times to form the rows of Y. % % [ X,Y,Z ] = MESHGRID ( xgv,ygv,zgv ) replicates the grid vectors xgv, ygv, zgv % to

第二篇--MATLAB图形可视化(一)

梦想的初衷 提交于 2020-02-05 19:57:16
目录 1.二维平面图形与坐标系 1.1 线性坐标曲线plot 1.2二维函数曲线fplot 1.3图像窗口分割subplot 1.4坐标系调整 2.三维绘图命令 2.1三维曲线绘图plot3 2.2三维曲面绘图命令 2.2.1 平面网格点生成 2.2.2 三维网格命令mesh 2.2.3 三维表面命令surf 3.总结 1.二维平面图形与坐标系 1.1 线性坐标曲线plot 它是一个线性绘图函数,可以生成线段,曲线和参数方程曲线的函数图像。 命令格式: plot(x,y)或者plot(x1,y1,x2,y1,…) 示例:绘制正弦余弦函数。 x = 0 : 0.01 : 2 * pi ; y = [ sin ( x ) ; cos ( x ) ] ; plot ( x , y ) 1.2二维函数曲线fplot 专门用于绘制函数y=f(x)图像,数据点是自适应产生的,可以用fplot函数绘出导数变化大的函数图像。 命令格式:[X,Y]=fplot(‘fun’,lims) fun:函数名字符串; lims:定义x的取值区间,lims=[xmin,xmax]. 线型与颜色 常用的的线段,颜色与标记参数 颜色 线型 顶点标记 符号 含义 符号 含义 符号 含义 符号 含义 b 蓝色 - 实线 . 实点标记 Λ \Lambda Λ 朝上三角符 g 绿色 : 虚线 o 圆圈标记 < 朝左三角符

Matlab给图片加网格

点点圈 提交于 2020-01-02 21:58:32
如何使用matlab给图片添加网格 总体思路是使用Matlab的 meshgrid 函数生成网格,再用 plot 函数绘制网格。 本文参考 链接 另一种相似的办法: Click here 代码如下: p = imread ( 'F:\Data\building.png' ) ; % 读取图像 [ mm , nn , ~ ] = size ( p ) ; % 获取图像的大小 x = 0 : nn / 10 : nn ; % 假设水平分成 10 格 y = 0 : mm / 20 : mm ; % 假设垂直分成 20 格 M = meshgrid ( x , y ) ; % 产生网格 N = meshgrid ( y , x ) ; % 产生网格 imshow ( p ) ; % 先把原图片画出来 hold on % 保持原来的图,作为画布再在这上面添加网格 plot ( x , N , 'y' ) ; % 画出水平横线。这里的 'y' 表示线条的颜色黄色 % plot ( M , y , 'r' ) ; % 画出垂直竖线。 'r' 表示绿红色 效果如下 关于plot画图的颜色: 颜色 说明 r 红色 g 绿色 b 蓝色 y 黄色 k 黑色 w 白色 来源: CSDN 作者: CaptainBuggy 链接: https://blog.csdn.net/weixin_43738524

Meshgrid函数的基本用法

与世无争的帅哥 提交于 2019-12-12 16:22:06
在Numpy的官方文章里,meshgrid函数的英文描述也显得文绉绉的,理解起来有些难度。 可以这么理解,meshgrid函数用两个坐标轴上的点在平面上画网格。 用法:   [X,Y]=meshgrid(x,y)   [X,Y]=meshgrid(x)与[X,Y]=meshgrid(x,x)是等同的   [X,Y,Z]=meshgrid(x,y,z)生成三维数组,可用来计算三变量的函数和绘制三维立体图 这里,主要以[X,Y]=meshgrid(x,y)为例,来对该函数进行介绍。 [X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制(注:下面代码中X和Y均是数组,在文中统一称为矩阵了)。 假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是 n m (注意不是m n)。 文字描述可能不是太好理解,下面通过代码演示下: 加载数据 import numpy as np import matplotlib.pyplot as plt %matplotlib inline m, n = (5, 3) x = np.linspace(0, 1, m) y = np.linspace(0, 1, n) X, Y = np.meshgrid(x,y) 查看向量x和向量y

python库之numpy

久未见 提交于 2019-12-11 02:44:36
一、懵懵的函数记录及其使用 1、numpy.meshgrid()函数 (1)numpy的函数主要还是在数值处理方面,mesh和grid都有网格的意思,这个函数自然和网格上的数据有一些联系 (2)如果需要绘制网格我们一定得有点,在matplotlib库中plot()函数中我们可以分别给出X和Y的值后进行绘制,如下图进行ABCDEF六个点的绘制。 (3)这六个点的坐标我们一目了然,在传统的做法中,我们设X=[0,0,1,1,2,2], Y=[0,1,0,1,0,1],通过对散点图进行绘制即可 (4)如何用坐标矩阵去代替传统做法呢,然后对应位置的两个点则为做坐标(X12​,Y12​)=(1,0)。 X = [ 0 1 2 0 1 2 ] X=\left[ \begin{matrix} 0 & 1 & 2 \\ 0 & 1 & 2 \end{matrix} \right] X = [ 0 0 ​ 1 1 ​ 2 2 ​ ] Y = [ 0 0 0 1 1 1 ] Y=\left[ \begin{matrix} 0 & 0 & 0 \\ 1 & 1 & 1 \end{matrix} \right] Y = [ 0 1 ​ 0 1 ​ 0 1 ​ ] (5)观察(4)中的矩阵并没有减少我们需要输入的坐标值,所以我们引入meshgrid()函数来自动生成这些点,我们只需要提供X和Y的数值数组

以SVM为例学习scikit-learn以及matplotlib绘图

心不动则不痛 提交于 2019-12-05 23:29:32
numpy库 1、np.meshgrid() 2、mgrid 3、np.ravel()和np.flatten() 4、np.r_ , np.c_ 5、numpy.squeeze() matplotlib库 1、scatter 2、axis 3、contour与contourf 官方不同核函数SVM比较代码 numpy库 1、np.meshgrid() 作用:用坐标轴上的点生成网格 例如 xx, yy= meshgrid(x, y) xx, yy,zz = meshgrid(x, y, z) 以 xx, yy= meshgrid(x, y)为例,将x覆盖的区域和y覆盖的区域,组合形成矩形xx,yy, xx的行向量是x的简单复制,yy的列向量是y的简单复制。 如果x是长度为m的向量,y是长度为n的向量,则矩阵xx,yy的维度为(n,m)。 代码演示如下 m, n = ( 5 , 3 ) x = np.linspace( 0 , 1 , m) y = np.linspace( 0 , 1 , n) xx, yy = np.meshgrid(x,y) #x,y值 x out: array([ 0. , 0.25 , 0.5 , 0.75 , 1. ]) y out: array([ 0. , 0.5 , 1. ]) #矩阵xx,yy的值 xx out: array( [[ 0. , 0

数据科学初阶(四)-- numpy数组生成以及矩阵转换

淺唱寂寞╮ 提交于 2019-12-05 23:29:19
文章说明: 本系列面向全国大中小学的通用数据科学教材, 原项目 是由 Jin Li 大佬整理的python笔记,鄙人学习后添加了许多自己的见解,于是最后写成了这系列手册。 文章目录 生成数组 1. 使用`arange`函数 2. 使用`linspace`函数 3. 生成网格数组 使用`meshgrid`函数 使用`ogrid` , `mgrid`函数 4. 使用`r_`,`c_`生成行列向量 5. 生成特殊数组 零矩阵 元素全为一的矩阵 生成随机数组 产生一个相似的数组 生成单位数组矩阵 生成矩阵 生成数组 1. 使用 arange 函数 arange函数类似range函数,其返回值为数组。 语法: # arange(start, stop=None, step=1, dtype=None) import numpy as np np . arange ( 4 ) # 返回 array([0,1,2,3]) 同时可以为 arange 函数生成的数组设置步长: # 设置步长为0.1 np . arange ( 0 , 1 , 0.1 , dtype = np . float ) 2. 使用 linspace 函数 linspace函数可以生成一个等差数组,其参数列表为起始值、终止值以及数组元素的个数。 # 与arange函数不同的是 # linspace第三个参数设置的是元素个数

megrid和meshgrid

半城伤御伤魂 提交于 2019-12-05 23:28:10
一、meshgrid函数 meshgrid函数通常使用在数据的矢量化上。 它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。 示例展示: 由上面的示例展示可以看出,meshgrid的 作用 是: 根据传入的两个一维数组参数生成两个数组元素的列表。 如果第一个参数是xarray,维度是xdimesion, 第二个参数是yarray,维度是ydimesion。 那么生成的第一个二维数组是以xarray为行,共ydimesion行的向量; 而第二个二维数组是以yarray的转置为列,共xdimesion列的向量。 二、 mgrid函数 用法:返回多维结构,常见的如2D图形,3D图形。对比np.meshgrid,在处理大数据时速度更快,且能处理多维(np.meshgrid只能处理2维) ret = np.mgrid[ 第1维,第2维 ,第3维 , …] 返回多值,以多个矩阵的形式返回, 第1返回值为第1维数据在最终结构中的分布, 第2返回值为第2维数据在最终结构中的分布,以此类推。(分布以矩阵形式呈现) 例如np.mgrid[X , Y] 样本(i,j)的坐标为 (X[i,j] ,Y[i,j]),X代表第1维,Y代表第2维,在此例中分别为横纵坐标。 例如1D结构(array),如下: In [2]: import numpy as np In

Python中的numpy.meshgrid

◇◆丶佛笑我妖孽 提交于 2019-12-05 23:22:31
关于该方法的解释,官网有详细的介绍(https://docs.scipy.org/doc/numpy-1.8.1/reference/generated/numpy.meshgrid.html#numpy.meshgrid)。这里做简单的介绍: numpy. meshgrid ( *xi , **kwargs ) 该方法为从参数中返回一个坐标矩阵。 参数: 1、 x1, x2,..., xn: array格式,代表网格坐标的一维数组。 2、 indexing : {‘xy’, ‘ij’}, 该参数可选的。默认为 xy(输出的笛卡尔( Cartesian )索引),ij为输出的矩阵索引。 3. sparse:布尔型(True/False),默认为 False。可选的参数,为True时返回一个稀疏网格。 4、 copy : 布尔型(True/False),默认为 True ,可选的参数。 如果为False,则返回原始数组的视图以节省内存。 默认值为True。 当将sparse = False,copy = False可能返回不连续的数组。 输出: X1, X2,..., XN, ndarray型数据 对于长度为Ni = len(xi)输入数组x1,x2,...,xn,当参数 indexing为 'ij'时,返回(N1,N2,N3 ,... Nn)形阵列;当参数 indexing为