关键词:
1. 引言
热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。
本文主要用Python来实现热力图的制作,样例如下:
闲话少说,我们直接开始吧!
2. 读取图像
首先,我们来读取样例图像,并对其进行相应的crop
操作。样例代码如下:
import numpy as np
import matplotlib.pyplot as plt
import skimage.io as io
img = plt.imread("butterfly-7320158_960_720.jpg")
# crop
img_cut = img[147:447,:,:]
plt.figure()
plt.imshow(img_cut)
运行后,得到结果如下:
3. 图像灰度化
由于热力图主要用于可视化二维矩阵,所以我们需要将彩色图转化为灰度图,代码如下:
from skimage.color import rgb2gray
gray_img = rgb2gray(img_cut)
plt.imshow(gray_img,cmap=gray)
运行结果如下:
4. 像素化效果
这一步的操作主要是为了使图像看起来像像素化的艺术品。我们首先将图像划分为非重叠block
块。我们将block
块的大小划分的越大,像素化程度看起来越高。
对于每个block块,我们计算该块中一些代表值。在这里,我们可以使用整个块的最小值,最大值或中值。这里仅展示最小值的情形,代码如下:
from skimage import util
# select box size
block_shape = (10, 10)
view = util.view_as_blocks(gray_img, block_shape)
# collapse the last two dimensions in one
flatten_view = view.reshape(view.shape[0], view.shape[1], -1)
# choose min within box
min_view = np.min(flatten_view, axis=2)
plt.imshow(min_view,cmap=gray)
运行结果如下:
5. 为热力图选择调色板
这一步是我们创作热力图艺术效果自由度最高的步骤。seaborn
调色板可能是一个很好的选择。我们来看一些不同风格的效果图:
import seaborn as sns
# save figure for LinkedIn recommended size (2000 width, 600 height)
my_dpi=96
plt.figure(figsize=(2000/my_dpi, 600/my_dpi), dpi=my_dpi)
sns.heatmap(max_view,xticklabels=False,yticklabels=False,cmap="coolwarm",cbar=False)
plt.savefig("coolwarm.png",bbox_inches=tight)
结果如下:
此外,viridis风格结果如下:
Spectral风格结果如下:
6. 总结
本文介绍了如何在Python中一步一步地实现热力图艺术风格图,并展示了不同调色板设置下的效果图,并给出了相应的代码示例。
您学废了嘛?
python绘制相关系数热力图(代码片段)
....设置配色,画出多幅图全部代码:本文讲述如何利用python绘制如上的相关系数热力图一.数据说明和需要安装的库数据是31个省市有关教育的12个指标,如下所示。,在文章最后自取:需要安装如下库:pipins... 查看详情
python怎样采集微信热力图
参考技术A1)打开微信进入应用后点击导航栏【我】,接着点击【钱包】,进入钱包后点击【城市服务】。2)接着点击【城市热力图】,接着点击上方【搜索栏】。3)搜索找到你要去的【地方】,就可以查看到该地区的【热力... 查看详情
python热力图绘制方法—新手教程
参考技术A#Python热力图绘制方法热力图的使用场景有 1.描述数据在空间的密集程度,常见有城市热力图,区域热力图2.描述多个变量之间相关性高低程度#step1准备数据集,读取excel列表内容,usecols=index,这里是表里的第一列不... 查看详情
python可视化lassocv特征筛选之后的特征的相关性分析热力图
python可视化lassocv特征筛选之后的特征的相关性分析热力图目录python可视化lassocv特征筛选之后的特征的相关性分析热力图#lassocv模型 查看详情
python绘制热力图(代码片段)
最近在建模时有绘制相关系数矩阵热力图的需要,在此记录一下热力图的基本使用这里使用seaborn库中的的heatmap完成热力图的绘制,我们可以根据图中不同方块颜色来判断变量之间相关系数的大小,接下来介绍heatmap的... 查看详情
arcpy多线程热力图(代码片段)
...先将有经纬度的表中的数据筛选出表并生成xy事件,接着利用核密度工具生成栅格,最后呢裁剪栅格通过mapping包出图。????出图过程比较慢,所以考虑使用多线程(一张图五分钟,十九张图多线程九分钟你说吼不吼)。多线程第一次... 查看详情
空间数据可视化:3.空间热力图
...如果只有空间位置,可能求的是密度图,就是我们之前用python中的seaborn做的两个维度的密度图,其实就是热力图的意思;两个维度的密度图就是热力图 把评论和人均做热力的差别来分开;开始--插入--单元格(纵向);数据-... 查看详情
304arcgis_for_js热力图4.21(03)
...derer还不支持在SceneViews中使用,只能在二维点图层中使用利用开源heatmap结合arcgisapiforjs实现自定义HeatmapLayer类,继承DynamicMapServiceLayer,然后结合heatmap.js一起这个之前在3.X中用过。4.X中没这么使用过 查看详情
python遥感图像处理应用篇(二十七):python绘制遥感图像各波段热力图(相关系数矩阵)(续)
续-https://soderayer.blog.csdn.net/article/details/125757807上一篇中使用csv文件计算的相关系数热力图,本篇我们直接使用遥感图像来计算图像波段之间的相关系数。方法一:已有软件ENVI计算实际上,目前已有的软件,如ENVI就可以直接计算... 查看详情
python遥感图像处理应用篇(二十四):python绘制遥感图像各波段热力图(相关系数矩阵)(代码片段)
...统计运算。我们这里不使用遥感图像软件计算,直接使用Python计算。要实现整个目标,我们首先需要提取遥感图像波段中各个像元的信息。这里我们可以将遥感图像读 查看详情
python遥感图像处理应用篇(二十四):python绘制遥感图像各波段热力图(相关系数矩阵)(代码片段)
...统计运算。我们这里不使用遥感图像软件计算,直接使用Python计算。要实现整个目标,我们首先需要提取遥感图像波段中各个像元的信息。这里我们可以将遥感图像读 查看详情
滴滴热力图-php版(后面有js版本)
/***获取边界*@returnmixed*@returnfalse|string*@throwsException*/publicfunctionactionBorder(){$lock_file="/tmp/process.lock";$lock_file_handle=fopen($lock_file,‘w‘);if($lock_file_handle===false)die("Canno 查看详情
matplotlib实例教程热力图(代码片段)
前言🔗运行环境:python3🚩作者:K同学啊🥇精选专栏:《深度学习100例》🔥推荐专栏:《小白入门深度学习》📚选自专栏:《Matplotlib教程》🧿优秀专栏:《Python入门100题》你可能... 查看详情
可视化神器plotly绘制热力图(代码片段)
...y的图形工厂函数)官网学习地址:https://plotly.com/python/heatmaps/https://plotly.com/python/imshow/https://plotly.com/python/annotated-heatmap/目录本文的整体目录:Plotly连载文章几篇Plotly更新的文章,请参考:导入库importpandasaspdim... 查看详情
如何制作炫酷的热力图
如何制作炫酷的热力图来自:http://mp.weixin.qq.com/s/s85vBmTv1GdzozQMWjY6xA2017-11-07 ArcGIS带你飞 飞言飞语 Attention “热力图”是描述趋势变化强力武器,可以将报告内容瞬间提升一个档次,不过,制作“热力... 查看详情
tableau图表大全11之热力图
文章目录热力图样式构建热力图GIF演示热力图样式热图是一种使用颜色显示数据的地图。可以在Tableau中创建它具有一个或多个维度和至少一个度量值。热图用于根据颜色比较数据。例如,销售额下降将为红色,而增长为... 查看详情
#openlayer热力图显示(代码片段)
openlayer热力图显示相关库类importmomentfrom\'moment\'importProjectionfrom\'ol/proj/Projection\'importStaticfrom\'ol/source/ImageStatic\'importMapfrom\'ol/Map\'importImageLayerfrom\'ol/layer/Image\'importViewfr 查看详情
openlayers6热力图(附源码下载)(代码片段)
前言之前写过一篇openlayers4版本的地图热力图文章,但是由于是封装一层js代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图热力图文章,直接基于最新版本openlayers6写的,纯粹html+js+css形式,没有任何封... 查看详情