基于matplotlib的数据可视化 - 热图imshow
热图:
Display an image on the axes.
可以用来比较两个矩阵的相似程度
mp.imshow(z, cmap=颜色映射,origin=垂直轴向)
imshow( X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, hold=None, data=None, **kwargs )
X - array_like, shape (n, m) or (n, m, 3) or (n, m, 4);Display the image in `X` to current axes.
X 可以是数组array,或PIL image,若为数组,它following shapes and types
- M * N -- values to be mapped (float or int);该数组形式基于norm(将标量映射到标量 mapping scalar to scalar)和 cmap(将标准标量映射到颜色mapping the normed scalar to a color)
- M * N * 3 -- RGB (float or uint8)
- M * N * 4 -- RGBA (float or uint8)
RGB和RGBA阵列的元素表示M * N图像的像素。 对于浮点数,所有值应在[0 .. 1]的范围内,对于整数,所有值应在[0 ... 255]的范围内。 超出范围的值将被剪切到这些边界。
cmap - optional, default: None
aspect - ['auto' | 'equal' | scalar], optional, default: None
auto - 则更改图像宽高比以匹配轴的宽高比。
equal - If 'equal', and `extent` is None, 则更改轴纵横比以匹配图像的纵横比。 If `extent` is not `None`, 则更改轴纵横比以匹配范围。
interpolation - string, optional, default: None ,
Acceptable values are 'none', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc',
'lanczos'
norm - : `~matplotlib.colors.Normalize`, optional, default: None 略
vmin, vmax - scalar, optional, default: None
`vmin`和`vmax`与norm结合使用以标准化亮度数据。 注意,如果传递一个`norm`实例则`vmin`和`vmax`的设置将被忽略。
alpha - scalar, optional, default: None
介于0(透明)和1(不透明)之间。RGBA input data 时 alpha 参数自动忽略
origin : ['upper' | 'lower'], optional, default: None
将数组的[0,0]索引放在轴的左上角( upper) 或左下角( lower) 。 如果为None,则默认为rc`mage.origin`。
extent : scalars (left, right, bottom, top), optional, default: None
数据坐标中左下角和右上角的位置。 如果为“无”,则定位图像使得像素中心落在基于零的(行,列)索引上。
shape : scalars (columns, rows), optional, default: None
For raw buffer images
filternorm - scalar, optional, default: 1
filterrad - scalar, optional, default: 4.0
示例
import numpy as np import matplotlib.pyplot as plt n = 1000 # 用meshgrid生成一个二维数组 x, y = np.meshgrid(np.linspace(-3, 3, n), np.linspace(-3, 3, n)) z = (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 - y**2) # 画图 plt.figure('Hot', facecolor='lightgray') plt.title('hotshot', fontsize=20) plt.xlabel('x', fontsize=14) plt.ylabel('y', fontsize=14) plt.tick_params(labelsize=10) plt.grid(linestyle=':') plt.imshow(z, cmap='jet', origin='low') plt.colorbar().set_label('z', fontsize=14) plt.show()
官方网站 Image tutorial 、
基于matplotlib的数据可视化 - 热图imshow的更多相关文章
- 基于matplotlib的数据可视化 - 笔记
1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...
- 基于matplotlib的数据可视化 - 饼状图pie
绘制饼状图的基本语法 创建数组 x 的饼图,每个楔形的面积由 x / sum(x) 决定: 若 sum(x) < 1,则 x 数组不会被标准化,x 值即为楔形区域面积占比.注意,该种情况会出现 ...
- 基于matplotlib的数据可视化 - 三维曲面图gca
1 语法 ax = plt.gca(projection='3d')ax.plot_surface(x,y,z,rstride=行步距,cstride=列步距,cmap=颜色映射) gca(**kwa ...
- 基于matplotlib的数据可视化 -
matplotlib.pyplot(as mp or as plt)提供基于python语言的绘图函数 引用方式: import matplotlib.pyplot as mp / as plt 本章 ...
- 基于matplotlib的数据可视化 - 等高线 contour 与 contourf
contour 与contourf 是绘制等高线的利器. contour - 绘制等高线 contourf - 填充等高线 两个的返回值值是一样的(return values are the sam ...
- 基于matplotlib的数据可视化(图形填充fill fill_between) - 笔记(二)
区域填充函数有 fill(*args, **kwargs) 和fill_between() 1 绘制填充多边形fill() 1.1 语法结构 fill(*args, **kwargs) args - ...
- 基于matplotlib的数据可视化 - 柱状图bar
柱状图bar 柱状图常用表现形式为: plt.bar(水平坐标数组,高度数组,宽度比例,ec=勾边色,c=填充色,label=图例标签) 注:当高度值为负数时,柱形向下 1 语法 bar(*args, ...
- matplotlib实现数据可视化
一篇matplotlib库的学习博文.matplotlib对于数据可视化非常重要,它完全封装了MatLab的所有API,在python的环境下和Python的语法一起使用更是相得益彰. 一.库的安装和 ...
- 基于HTML5实现的Heatmap热图3D应用
Heatmap热图通过众多数据点信息,汇聚成直观可视化颜色效果,热图已广泛被应用于气象预报.医疗成像.机房温度监控等行业,甚至应用于竞技体育领域的数据分析. 已有众多文章分享了生成Heatmap热图原 ...
随机推荐
- Android Studio 上传aar(Library)到JCenter
目的 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,发布自己的android library(也就是aar)到公共的jcenter仓库. 为什么选择JCenter,因为JCen ...
- C#.NET常见问题(FAQ)-如何在不同窗体之间传递值
最简单的方法是在定义窗体的时候就写好几个变量,在实例化Form2的时候,就把这些参数传递过去 或者你也可以定义一个类,然后通过这个类的静态变量交互(注意只能用静态的,因为Form2无法访问Form ...
- android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法
android studio设计界面的时候,出现了报错:design editor is unavailable until after a successful project sync,导致无法编 ...
- LintCode: Valid Parentheses
C++ stack<char|int|string>, push(), pop(), top(), empty(), size() class Solution { public: /** ...
- JAVA设计模式——第 5 章 工厂方法模式【Factory Method Pattern】(转)
女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了.这个故事是说,女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空 ...
- python中string和十六进制、二进制互转
def str_to_hex(s): return ' '.join([hex(ord(c)).replace('0x', '') for c in s]) def hex_to_str(s): re ...
- java动态代理_aop2
一.什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理. 代理模 ...
- Struck 跟踪算法(二)
以下開始读详细源代码 config.h文件 /* * Struck: Structured Output Tracking with Kernels * * Code to accompany the ...
- Struts2学习笔记四:深入拦截器
一:拦截器的工作原理 拦截器的执行过程可以类比filter过滤器,ActionInvocation实例执行过程中,先执行action实例上引用的拦截器们,然后才执行action实例处理请求,返回res ...
- sqlserver 建表语句,获取建表语句的存储过程,包括排序规则,索引,字段说明,支持同时生成多个表
先创建一个分割表名的分割函数 --表值函数用以截取字符串 --如果为其添加一列主键id,则其顺序就会固定了 create FUNCTION [Split](@text NVARCHAR(max)) ) ...