登高线
运行结果为:
代码如下:
# 等高线:contourf、contour
# 函数画图:z=x**2+y**2
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
x, y = np.meshgrid(x, y) # 将x,y变成网格数据形式,将x,y轴变成数组(array)
z = x ** 2 + y ** 2
# z = -(x ** 2 + y ** 2) # 让中间的0最大,则添加一个负号
'''
plt.figure(figsize=(8, 4))
# ==============不进行颜色设置=============
cset = plt.contourf(x, y, z) # 填充颜色
contour = plt.contour(x, y, z) # 画等高线8条
# ========不填充颜色,只输出特定的线=========
contour = plt.contour(x, y, z, [20, 40], colors=['r', 'k'])'''
# ===============进行颜色设置=============
cset = plt.contourf(x, y, z, 6, cmap='hot')
# 填充颜色,6表示6层颜色,cmap=plt.cm.hot和cmap='hot'一样,'hot_r'颜色取反
contour = plt.contour(x, y, z, 8, colors='k') # 画等高线8条,并设为黑色
plt.clabel(contour, fontsize=10, colors='b', fmt='%.4f') # 等高线上标明z(高度),保留4位小数
# plt.xlabel(()) #x轴坐标标题
# plt.ylabel(()) #y坐标标题
# plt.colorbar(cset) # 设置颜色条,显示在图片右边
plt.show()