转:Contours画高线图

参考:https://morvanzhou.github.io/tutorials/data-manipulation/plt/3-3-contours/

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['figure.dpi']=300
plt.rcParams['savefig.dpi'] = 300
def f(x,y):
    # the height function
    return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 -y**2)

n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
X, Y = np.meshgrid(x, y)

# use plt.contourf to filling contours
# X, Y and value for (X,Y) point
#接下来进行颜色填充。使用函数plt.contourf把颜色加进去,
#位置参数分别为:X, Y, f(X,Y)。透明度0.75,并将 f(X,Y) 的值对应到color map的暖色组中寻找对应颜色。
plt.contourf(X, Y, f(X, Y), 5, alpha=.75, cmap=plt.cm.hot)


#接下来进行等高线绘制。使用plt.contour函数划线。位置参数为:X, Y, f(X,Y)。
#颜色选黑色,线条宽度选0.5。现在的结果如下图所示,只有颜色和线条,还没有数值Label:
#其中,8代表等高线的密集程度,这里被分为10个部分。如果是0,则图像被一分为二。
C = plt.contour(X, Y, f(X,Y),colors='black', linewidth=.5)

#最后加入Label,inline控制是否将Label画在线里面,字体大小为10。并将坐标轴隐藏:
plt.clabel(C, inline=True, fontsize=10)
plt.xticks(())
plt.yticks(())

结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值