- 积分
- 1019
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-1-26
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 南极的七色鹿 于 2021-12-2 18:53 编辑
【问题】将matplotlib与等高线图(coutourf)一起使用时,无法根据自己的需要显示颜色条。
【目的】
1、在颜色栏上显示最小值和最大值(假设最大值想设置为1.0,最小值为-2.0),这两个值应该在色条的边缘。
2、希望颜色条在每个颜色转换处显示值。
【程序和图片】附件有注意事项、程序、图片
【处理之前的程序】
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery-nogrid')
# make data
X, Y = np.meshgrid(np.linspace(-3, 3, 256), np.linspace(-3, 3, 256))
Z = (1 - X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
# plot
fig, ax = plt.subplots()
m = ax.contourf(X, Y, Z,cmap=cmap=plt.cm.YlGnBu)cbar = plt.colorbar(m,shrink=1.0)
plt.show()
【处理之后的程序】
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery-nogrid')
# make data
X, Y = np.meshgrid(np.linspace(-3, 3, 256), np.linspace(-3, 3, 256))
Z = (1 - X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
levels = np.linspace(-2.0, 2.0, 9)
# plot
fig, ax = plt.subplots()
m=ax.contourf(X,Y,Z,levels=levels.round(1),cmap=plt.cm.YlGnBu)
cbar = plt.colorbar(m,shrink=1.0)
plt.show()
【ps】第一次发帖,记录一下,希望可以帮到uu们~
|
|