例子7-2用等高线来图形分类三个样本集的数据。
这里,用到了三个参数:
x:横坐标
y:纵坐标
z:等高线坐标值,本例子中,用分类结果(0,1,2)区分高度z
合格函数的运用,原例子较为复杂,下面的这个例子较为简短,有利于理解等高线的画法:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import colorConverter, ListedColormap
#演示一个5*5的坐标呢内化等高线,坐标轴内划分为5*5一共25个区域
xdim=[0,1,2,3,4]
ydim=[0,1,2,3,4]
x, y = np.meshgrid(xdim, ydim) # 坐标分格,创建每一个格子的坐标
classification_plane=np.random.randint(0,3,[5,5])#三个等高线,每一个格子的颜色初始化为0--3之间的随机整数
cmap = ListedColormap([
colorConverter.to_rgba('r', alpha=0.30),
colorConverter.to_rgba('b', alpha=0.30),
colorConverter.to_rgba('y', alpha=0.30)])
plt.grid(True, linestyle = "-", color = "r", linewidth = "1") #画出方格易于理解
for i in range(5):
for j in range(5):
plt.text(x[i,j], y[i,j], classification_plane[i,j], size = 20) #画出每个格子的高度
plt.contourf(x,y,classification_plane,cmap=cmap) #画出等高线
plt.legend()
plt.show()
结果可能如下: