matplotlib 热力图_matplotlib库:等高线图

1.等高线图简介

等高线图来源于对地球地表地貌高程的描述,将地表高度相等的各点连接成环线并投影到平面上,就得到等高线地形图,因此等高线图本质上是一个三维模型图。其中,横坐标和纵坐标的值代表某点位置,而某点的高度用环线对应的值表示。

2.核心函数及核心参数介绍

#函数1:填充等高线contourf(X,Y,Z,levels,cmap)#函数2:绘制等高线contour(X,Y,Z,levels,cmap)

常用参数介绍

X--网格横坐标,二维数组;

Y--网格纵坐标,二维数组;

Z--高度坐标,二维数组;

levels--等高线的密集程度,取值越大,越密度;

cmap--数据映射为对应的渐变颜色;

备注:上述两个函数中参数是一致的,可仅给出Z取值,其余参数均可缺省。另外cmap的取值见文章matplotlib库:热力图。

等高线图较为特殊,往往需要上述函数1和函数2一起配合使用,方可绘制出较为漂亮的等高线图,经过小编测试发现,单独函数1的结果是渐变颜色填充了整个平面(见下图1),单独函数2绘制的是一条条的等高线(见下图2)。值得注意的是,表面上看,图1已经是等高线图了,但事实上图1中的等高线是不同的颜色的分界线产生的,并没有绘制出等高线,因此直接对图1上的等高线加数据标签时往往会出现问题。

7b7f8eec0fd060d7e32d73d9487a150b.png
4ecab79aed623e4689fc66b902a8c164.png

3.等高线图实例展示

import numpy as npimport matplotlib.pyplot as plt# 构造数据X, Y = np.meshgrid(np.linspace(-1, 1, 50), np.linspace(-1, 1, 50))Z = X**2 + Y ** 2plt.rc('font', family='STSong')plt.contourf(X, Y, Z, levels=6, cmap='autumn')cont = plt.contour(X, Y, Z, levels=6)# 等高线上标注数据plt.clabel(cont, inline=True, fontsize=15, fmt="%.1f")plt.gca().xaxis.set_major_locator(plt.MultipleLocator(0.5))plt.gca().yaxis.set_major_locator(plt.MultipleLocator(0.5))plt.xlabel('横坐标')plt.ylabel('纵坐标')plt.show()
77a5af81b82d4f9306891b24e1ba3f44.png

上述代码结果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值