Python之Matplotlib数据可视化(二):密度图与等高线图
用等高线图可视化三维数据
用彩色等高线可视化三维数据
带填充色的三维数据可视化图
重新渲染三维数据的彩色图
在彩色图上加上带数据标签的等高线
备注
有时在二维图上用等高线图或者彩色图来表示三维数据是个不错的方法。Matplotlib 提供了三个函数来解决这个问题:
用 plt.contour 画等高线图、用 plt.contourf 画带有填充色的等高线图(filled contour plot)的色彩、用 plt.imshow 显示图形。
导入画图需要用的函数:
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')
import numpy as np
用等高线图可视化三维数据
首先用函数 z = f (x, y) 演示一个等高线图,按照下面的方式生成函数 f 样本数据:
def f(x, y):
return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)
等高线图可以用 plt.contour 函数来创建。它需要三个参数:x 轴、y 轴、z 轴三个坐标轴的网格数据。x 轴与 y 轴表示图形中的位置,而 z 轴将通过等高线的等级来表示。用np.meshgrid 函数来准备这些数据可能是最简单的方法,它可以从一维数组构建二维网格数据:
x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)
X, Y = np.meshg