这次在matplotlib画图时遇到了这两个函数,感觉有必要看看怎么用,就自己尝试找找文档稍微记一下关键使用

np.meshgrid()

numpy.meshgrid(*xi, copy=True, sparse=False, indexing=‘xy’)

该函数将坐标向量(coordinate vector)转化为坐标矩阵(coordinate matrices)

  • *xi:这是一个参数序列,x1,x2,…,xn,每一个x都是一个坐标向量
  • returns:X1,X2,X3,…,Xn:ndarray
    直接看解释真的不是很理解,直接看用法吧!

使用案例

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10,100)
y=np.linspace(-25,10,100)
X,Y=np.meshgrid(x,y)
X=array([[-10.       ,  -9.7979798,  -9.5959596, ...,   9.5959596,9.7979798,  10.       ],[-10.       ,  -9.7979798,  -9.5959596, ...,   9.5959596,9.7979798,  10.       ],[-10.       ,  -9.7979798,  -9.5959596, ...,   9.5959596,9.7979798,  10.       ],...,[-10.       ,  -9.7979798,  -9.5959596, ...,   9.5959596,9.7979798,  10.       ],[-10.       ,  -9.7979798,  -9.5959596, ...,   9.5959596,9.7979798,  10.       ],[-10.       ,  -9.7979798,  -9.5959596, ...,   9.5959596,9.7979798,  10.       ]])
Y=array([[-25.        , -25.        , -25.        , ..., -25.        ,-25.        , -25.        ],[-24.64646465, -24.64646465, -24.64646465, ..., -24.64646465,-24.64646465, -24.64646465],[-24.29292929, -24.29292929, -24.29292929, ..., -24.29292929,-24.29292929, -24.29292929],...,[  9.29292929,   9.29292929,   9.29292929, ...,   9.29292929,9.29292929,   9.29292929],[  9.64646465,   9.64646465,   9.64646465, ...,   9.64646465,9.64646465,   9.64646465],[ 10.        ,  10.        ,  10.        , ...,  10.        ,10.        ,  10.        ]])
X,Y=np.meshgrid(x,y,sparse=True)
X=array([[-10.        ,  -9.7979798 ,  -9.5959596 ,  -9.39393939,-9.19191919,  -8.98989899,  -8.78787879,  -8.58585859,-8.38383838,  -8.18181818,  -7.97979798,  -7.77777778,-7.57575758,  -7.37373737,  -7.17171717,  -6.96969697,-6.76767677,  -6.56565657,  -6.36363636,  -6.16161616,-5.95959596,  -5.75757576,  -5.55555556,  -5.35353535,-5.15151515,  -4.94949495,  -4.74747475,  -4.54545455,-4.34343434,  -4.14141414,  -3.93939394,  -3.73737374,-3.53535354,  -3.33333333,  -3.13131313,  -2.92929293,-2.72727273,  -2.52525253,  -2.32323232,  -2.12121212,-1.91919192,  -1.71717172,  -1.51515152,  -1.31313131,-1.11111111,  -0.90909091,  -0.70707071,  -0.50505051,-0.3030303 ,  -0.1010101 ,   0.1010101 ,   0.3030303 ,0.50505051,   0.70707071,   0.90909091,   1.11111111,1.31313131,   1.51515152,   1.71717172,   1.91919192,2.12121212,   2.32323232,   2.52525253,   2.72727273,2.92929293,   3.13131313,   3.33333333,   3.53535354,3.73737374,   3.93939394,   4.14141414,   4.34343434,4.54545455,   4.74747475,   4.94949495,   5.15151515,5.35353535,   5.55555556,   5.75757576,   5.95959596,6.16161616,   6.36363636,   6.56565657,   6.76767677,6.96969697,   7.17171717,   7.37373737,   7.57575758,7.77777778,   7.97979798,   8.18181818,   8.38383838,8.58585859,   8.78787879,   8.98989899,   9.19191919,9.39393939,   9.5959596 ,   9.7979798 ,  10.        ]])

总结

  1. 参数是给定的坐标向量(array like),这是唯一的必须参数;
  2. 对应的坐标矩阵是对应向量的集合。如果是二维,X每一行都是一个coordinate vector,总行数与y的dimension相等,Y的每一列都是一个向量,每一行都是相等的数,总列数等于x的dimension。(完全想象生成的X,Y最终可以组合成一个网格,不必纠结于具体的内容)

plt.contourf()

contourf([X, Y,] Z, [levels], **kwargs)

contour 和 contourf 分别绘制轮廓线和填充轮廓。除注明外,两个版本的函数签名和返回值相同.

  • X,Y:可选参数,利用meshgrid()生成,形状与Z相同;X,Y都必须是单调排序;如果未给出该参数,则假定为整数索引,X=range(N),Y=range(M)
  • Z:(M,N),array-like的矩阵,对应坐标点的高度值,颜色映射由cmap、norm、vmin和vmax决定
  • cmap:str或色彩映射表,默认为“viridis";如果设置了‘color’参数,自动忽略该参数。

用例

Z=X/8+Y*0.2
plt.contourf(X,Y,Z)
plt.show()

第一次遇见相关问题,暂时记录这些,之后相关继续补上。

meshgrid()+plt.contourf()用法相关推荐

  1. np.meshgrid plt.contourf

    np.meshgrid & plt.contourf 吴恩达机器学习作业 np.meshgrid && plt.contourf plt.contourf 吴恩达机器学习作业 ...

  2. np.meshgrid, ravel(), np.c_, plt.contourf()函数的用法,以及决策边界的画法。

    前言: 楼主最近在学机器学习时碰到的一些函数,用来画决策边界.记录现在的想法. 1: np.meshgrid的用法: X,Y = np.meshgrid(x,y)是将x中的每个点与y中的每个点连起来成 ...

  3. 决策边界绘制函数plot_decision_boundary()和plt.contourf函数详解

    在做吴恩达老师的深度学习课程作业时,发现决策边界函数不好理解plot_decision_boundary(model , X , y).将此函数理解记录下: 作业地址:https://blog.csd ...

  4. python matplotlib二维平面等高线的绘制, plt.contour 与 plt.contourf, plt.clabel和plt.colorbar, plt.xticks([])

    引用文章1 https://blog.csdn.net/lanchunhui/article/details/70495353 引用文章2 https://blog.csdn.net/qq_33506 ...

  5. python matplotlib绘制等高线,plt.contour(),ax3.contour()和plt.contourf(),ax3.contour(), 同名函数

    引用文章 https://blog.csdn.net/lanchunhui/article/details/70495353 首先这是由不同对象调用的函数,ax3指3D Figure对象即<cl ...

  6. matplotlib 等高线的绘制 —— plt.contour 与 plt.contourf

    contour:轮廓,等高线. 为等高线上注明等高线的含义: cs = plt.contour(x, y, z) plt.clabel(cs, inline=1, fontsize=10) plt.c ...

  7. 【解决报错原因分析】画图plt.contourf(X,Y,Z)报错TypeError: unhashable type: ‘numpy.ndarray‘(含详细示例讲解)

    今天简化画图代码的时候发现了很奇怪的报错现象,经过一系列尝试找到了根源,希望帮助后来人,主要问题出现在如下语句中(为了体现问题.方便比对,特意在这改变了x为xx,如果你不想看这冗长的示例,可以直接按照 ...

  8. python contourf色阶_matplotlib:plt.contourf(画等高线)

    import numpy as np import matplotlib matplotlib.use("TkAgg") import matplotlib.pyplot as p ...

  9. 决策边界绘制和plt.contourf函数讲解

    先讲解plt.contourf函数,然后用plt.contourf绘制决策边界 contourf contourf(*args, data=None, **kwargs) Plot contours. ...

最新文章

  1. 用OpenCV4实现图像的超分别率
  2. GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富 | 开源
  3. Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程
  4. 数学建模学习笔记(七)——图论最短路问题
  5. 【ECJTU_ACM 11级队员2012年暑假训练赛(8) - F - A Mame】
  6. Mysql 可重复读
  7. 拷贝一个用户下的所有表和数据到另外一个库
  8. ETERM操作和错误集合
  9. 使用压缩包安装mysql
  10. win7计算机图标排列,win7系统桌面图标排列顺序打乱的操作方法
  11. 服务器柜机位置摆放电子图,柜式空调摆放位置有什么要注意的吗
  12. 腾讯、美团通报反腐情况;马斯克回应:涨价也没人补差价;滴滴出行恢复新用户注册 | EA周报...
  13. windows10系统下蓝牙自动断开的问题
  14. stream銆俠oxed_电脑关机时显示OX100672ed指令引用的OX0000000C内存,该内存不能为written是什么意思...
  15. tensorboard: error: invalid choice: ‘(No‘ (choose from ‘serve‘, ‘dev‘)
  16. 小明一家过桥,过桥时是黑夜_过桥:如何过渡到软件开发的职业
  17. DC综合脚本中文详细解释
  18. HTML5游戏 围住神经猫 开发
  19. linux服务篇-DNS服务
  20. 2020,是时候介绍一下自己!

热门文章

  1. c语言兔子序列第8年不繁殖,基于链表的兔子序列生成研究.pdf
  2. 佳博 TSC打印机 TSPL指令开发
  3. 海思开发板上挂载额外的存储空间
  4. 【译】A Fully Spiking Hybrid Neural Network for Energy-Efficient Object Detection
  5. 数控铣削图案及编程_数控铣床漂亮编程图案 数控铣床编程100例
  6. linux中ls命令查看文件大小与时间
  7. linux设置ps2鼠标,linux环境变量设置 (PS1,PS2)
  8. SIMULIA现实仿真解决方案 SIMULIA仿真模拟应用程序
  9. CSS | 水平垂直居中都有哪几种方式
  10. virtualbox安装ubuntu时,not syncing: attempt to kill the idle task