Matplotlib入门:等高线图contour

import matplotlib.pyplot as plt
import numpy as np

def f(x,y):
    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)

# contourf 会在等高线之间进行填充
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap='hot')

# contour 仅仅是画出等高线
C = plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=.4)

# 添加数据标签
plt.clabel(C,inline=True,fontsize=10)

plt.xticks(())
plt.yticks(())

plt.show()

对比contourf与contour的区别

  • contourf

在等高线之间填充颜色

import matplotlib.pyplot as plt
import numpy as np

def f(x,y):
    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)

# contourf 会在等高线之间进行填充
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap='hot')



plt.xticks(())
plt.yticks(())

plt.show()

  • contour 

只绘制出等高线

import matplotlib.pyplot as plt
import numpy as np

def f(x,y):
    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)

# contour 仅仅绘制出等高线
C = plt.contour(X,Y,f(X,Y),8,cmap='hot',linewidth=.5)

# 添加数据标签
plt.clabel(C,inline=True,fontsize=10)

plt.xticks(())
plt.yticks(())

plt.show()

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值