numpy.meshgrid(),ravel(),contourf(),scater()理解
numpy.meshgrid()
作用:生成网格点坐标矩阵。
可以生成多维坐标矩阵。
例如:
xx, yy = np.meshgrid(np.arange(x_min,x_max,h),np.arange(y_min,y_max,h))
生成两个三维网格坐标矩阵。坐标参数:x_min,x_max,h。
ravel()
作用:扁平化操作。
例如:
from numpy import *a = arange(12).reshape(3,4)
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(a.ravel())# [ 0 1 2 3 4 5 6 7 8 9 10 11]
如果用flatten()结果也是一样的。
print(a.flatten())
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
ravel()和flatten()区别
可以看到这两个函数实现的功能一样,但平时使用的时候flatten()更为合适。在使用过程中flatten()分配了新的内存,但ravel()返回的是一个数组的视图。
from numpy import *a = arange(12).reshape(3,4)
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]# 创建一个和a相同内容的数组b
b = a.copy()
c = a.ravel()
d = b.flatten()
# 输出c和d数组
print(c)
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
print(d)
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
# 可以看到c和d数组都是扁平化后的数组,具有相同的内容print(a is c)
# False
print(b is d)
# False
# 可以看到以上a,b,c,d是四个不同的对象# 但因为c是a的一种展示方式,虽然他们是不同的对象,但在修改c的时候,a中相应的数也改变了
c[1] = 99
d[1] = 99
print(a)
# [[ 0 99 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(b)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(c)
# [ 0 99 2 3 4 5 6 7 8 9 10 11]
print(d)
# [ 0 99 2 3 4 5 6 7 8 9 10 11]
matplotlib.pytlot contourf
coutour([X, Y,] Z,[levels], **kwargs)
作用:绘制等高线的,contour和contourf都是画单位等高线图的,不同点在于contour()是绘制轮廓线,contourf()会填充轮廓。
参数:
①X,Y类似数组
②Z的位数是X的维数乘以Y的维数,可以看成X,Y张成的网络。
③当X,Y,Z都是2维数组时,它们的形状必须相同。如果都是1维数组时,len(X)是Z的列数,而len(Y)是Z中的行数。
④levels:int或者类似的数组
⑤确定轮廓线/区域的数量和位置
其他参数:
①aalpha:float
②alpha混合值,介于0(透明)和1(不透明)之间
③cmap:str或colormap
④Colormap用于将数据值(浮点数)从间隔转换为相应Colormap表示的RGBA颜色。用于将数据缩放到间隔中看 。
例如:
参考:https://blog.csdn.net/lens___/article/details/83960810
要画出等高线,核心函数是plt.contourf(),但在这个函数中输入的参数是x,y对应的网格数据以及此网格对应的高度值,因此我们调用np.meshgrid(x,y)把x,y值转换成网格数据:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# 计算x,y坐标对应的高度值
def f(x, y):return (1-x/2+x**3+y**5) * np.exp(-x**2-y**2)# 生成x,y的数据
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)# 把x,y数据生成mesh网格状的数据,因为等高线的显示是在网格的基础上添加上高度值
X, Y = np.meshgrid(x, y)# 填充等高线
plt.contourf(X, Y, f(X, Y))
# 显示图表
plt.show()
plt.scatter()
作用:散点图
其中散点的形状参数marker如下:
numpy.meshgrid(),ravel(),contourf(),scater()理解相关推荐
- numpy.meshgrid()理解
一句话解释numpy.meshgrid()--生成网格点坐标矩阵. 关键词:网格点,坐标矩阵 网格点是什么?坐标矩阵又是什么鬼? 看个图就明白了: 图中,每个交叉点都是网格点,描述这些网格点的坐标的矩 ...
- meshgrid()+plt.contourf()用法
这次在matplotlib画图时遇到了这两个函数,感觉有必要看看怎么用,就自己尝试找找文档稍微记一下关键使用 np.meshgrid() numpy.meshgrid(*xi, copy=True, ...
- np.meshgrid plt.contourf
np.meshgrid & plt.contourf 吴恩达机器学习作业 np.meshgrid && plt.contourf plt.contourf 吴恩达机器学习作业 ...
- 【ML】numpy meshgrid函数使用说明(全网最简单版)
[ML]numpy meshgrid函数使用说明 meshgrid的作用? 怎么使用(举例说明) 手工描点(帮助理解) 怎么画三维? 一维展开后是什么效果? 附画图代码 meshgrid的作用? 首先 ...
- Python 数据分析三剑客之 NumPy(一):理解 NumPy / 数组基础
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- 【Python】NumPy 中 ravel() 正确打开方式
[Python]NumPy 中 ravel() 正确打开方式 最近在看书时,对numpy的ravel()的有些疑惑,书上这样写到"如果结果中的值在原始数组中是连续的,则ravel 不会生成底 ...
- numpy.meshgrid 用法说明
numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy') return: X1, X2,..., XN 其中 *xi = x1, x2,. ...
- 快速掌握numpy.hanning、numpy.outer、numpy.meshgrid函数
文章目录 numpy.hanning numpy.outer numpy.meshgrid numpy.hanning 这是numpy库中比较常见的函数,它生成余弦窗函数或者高斯函数,用于过滤或者突出 ...
- python meshgrid_Python numpy.meshgrid函数方法的使用
numpy.meshgrid numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')[source] 从坐标向量返回坐标矩阵. 给定一维 ...
最新文章
- 每日一条linux (1) -find
- [每天进步一点 -- 流水账]第3周
- UVa11855 Buzzwords(hash)
- 查看mongodb数据路径_Mac OS 中安装和使用 MongoDB 的方法
- 2021阿里巴巴大数据技术公开课第一季:外部工具连接SaaS模式云数仓MaxCompute实战
- python 菜鸟入门
- 新一代的编译工具 SWC,97年小哥写的~
- 3732: Network
- Linux常用工具小结:(2) Mysql的rpm安装和编译安装
- Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (19) - 系统代理
- android代码zip怎么用,Rxjava Android如何使用Zip操作符
- 首个教育部印发的人工智能行动计划出炉:规划三步走,大学有三任务
- 算法 思维导图(一)
- M-02-12.[紫猫]Url网络操作扩展
- 学生网页设计作品 dreamweaver作业静态HTML网页设计模板 篮球网页作业制作
- Python 基于tkinter和sqlite3的会员管理系统
- adguard没有核心 core no_树莓派安装AdGuard Home屏蔽广告
- P R MAP简单理解,yolo中
- 企业信息安全注意事项
- c语言程序设计 计算机2级,计算机二级c语言程序设计考试试题