contourf画等高线图时,定义z轴范围的方法

在多个图进行比较时,用同样的颜色区间对比更明显一些,但是我找了很久,问了不少人,一直没有解决这个问题,后来随便乱写了一下,发现contourf第4个参数用数组有奇效

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-3,3,101)
y=np.linspace(-3,3,101)
lim=np.arange(-2,2.1,0.1)
X,Y=np.meshgrid(x,y)
Z1=np.sin(X)*np.cos(Y)
plt.subplot(121)
plt.contourf(X,Y,Z1,lim,cmap="jet")
plt.colorbar()
Z2=2*np.cos(X)*np.sin(Y)
plt.subplot(122)
plt.contourf(X,Y,Z2,lim,cmap="jet")
plt.colorbar()
plt.show()

重点在lim数组上,运行后可以看出来,两个函数的值有明显的不同



  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您解释一下如何用Matplotlib绘制等高线图,并调整色带和z。 首先,您需要导入Matplotlib和NumPy库: ``` import numpy as np import matplotlib.pyplot as plt ``` 接下来,您需要准备一些数据来绘制等高线图。您可以使用NumPy中的`meshgrid`函数来生成x和y上的网格点坐标,然后计算z上的高度值: ``` # 生成x和y上的网格点坐标 x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) # 计算z上的高度值 Z = np.sin(np.sqrt(X**2 + Y**2)) ``` 然后,您可以使用Matplotlib的`contourf`函数来绘制等高线图。该函数将在z上绘制等高线,并对其进行填充,以形成一个平滑的颜色映射: ``` # 绘制等高线图设置色带 plt.contourf(X, Y, Z, cmap='coolwarm') # 添加颜色条 cb = plt.colorbar() cb.set_label('Z Value') # 显示图形 plt.show() ``` 这将绘制一个等高线图,并使用`coolwarm`色带来显示z上的高度值。您还可以使用`set_label`方法设置颜色条的标签。 如果您想调整等高线图的z范围,可以使用`clim`方法设置颜色条的最小值和最大值: ``` # 设置z范围 plt.contourf(X, Y, Z, cmap='coolwarm', clim=(-1, 1)) # 添加颜色条 cb = plt.colorbar() cb.set_label('Z Value') # 显示图形 plt.show() ``` 这将绘制一个等高线图,并将z范围限制在-1到1之间。您可以调整`clim`参数来改变z范围。 希望这可以帮助到您。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值