1. 引言
在这个数据如山的时代,你是不是也曾在茫茫数海中迷失方向,渴望找到那片隐藏的“数据绿洲”?别怕,今天咱们就来聊聊Matplotlib这位绘图界的魔术师,特别是它那令人叹为观止的等高线图技能。想象一下,原本枯燥无味的数字矩阵,在Matplotlib的魔法笔下,瞬间化身为连绵起伏的山峦、蜿蜒曲折的河流——哦不,是数据的高低起伏,一目了然。等高线图:也称水平图,是一种再二维平面上显示3D图像的方法,无需攀登珠峰,也不用潜水马里亚纳,只需轻轻一点,你就能在屏幕前,悠然自得地“游历”数据的壮丽景观。准备好了吗?让我们一起,跟随Matplotlib的脚步,开启这场别开生面的数据等高线之旅吧!
2. 导包
# 导包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# 如果浏览器不显示图片,就需要加上这句话
%matplotlib inline# 让图片中可以显示中文
plt.rcParams['font.sans-serif'] = "SimHei"
# 让图片中可以显示负号
plt.rcParams["axes.unicode_minus"] = False# 支持svg矢量图
%config Inlinebackend.figure_format = "svg"
3. 绘制等高线图
# 网格数据知识
a = np.array([1, 2, 3])
b = np.array([4, 5])A, B = np.meshgrid(a, b)
display(A, B)
array([[1, 2, 3],[1, 2, 3]])array([[4, 4, 4],[5, 5, 5]])
plt.figure(figsize=(5, 4))x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)# 将x和y变成网格数据
X, Y = np.meshgrid(x, y)# Z
Z = np.sqrt(X**2 + Y**2)# 画等高线
cb = plt.contourf(X, Y, Z)
# 颜色条
plt.colorbar(cb)
<matplotlib.colorbar.Colorbar at 0x25052a38950>