gpt4 book ai didi

python - 自定义颜色图并更改用户范围以绘制未在整个范围上定义的 2D 函数

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:19 38 4
gpt4 key购买 nike

我想绘制 2D 函数 f(x,y) 的映射,其中 f(x,y) 未在 [0;1] 中的 x 和 [0;1] 中的 y 的整个范围内定义。 1.5

我正在使用 imshow 函数来绘制 map 。然而,颜色图考虑的数据等于-1。我想重新调整颜色图并更改分配给 -1 的颜色。

我的代码:数据位于使用矩阵格式的 ascii 文件中

filename = "map_chi_h_rho_disc2.txt"
raw_data = np.loadtxt(filename)
zeta = raw_data[:1] # first line
zeta = zeta[0] # array of array with 1 element to 1 array
zeta = zeta[1:] # remove first element
eta = np.array(np.transpose(raw_data)[0]) # first column
eta = eta [1:] # remove first element
data = raw_data[1:] # remove first line
data = data[:,1:] # remove first column
data = np.transpose(data)
etab = 0
etae = eta[-1]
zetab = 0
zetae = zeta[-1]

fig = plt.figure()
cmap2 = plt.get_cmap("jet")
im1= imshow(data, interpolation='bicubic', origin='lower',cmap = cmap2 , extent=(etab,etae,zetab,zetae),aspect='auto')
# limit of cmap
climitb = 1.5
climite = 2.5
v = np.linspace(climitb, climite, 5, endpoint=True)
cbar =fig.colorbar(im1,ticks=v)
plt.clim(climitb,climite)
plt.show()

结果图:

/image/OLcrw.png

首先,我想将深蓝色更改为白色,其次,重新调整颜色栏

非常感谢您的帮助

最佳答案

您可以通过设置 vmin、vmax 来重新缩放颜色图:

plt.clim(vmin, vmax) # use dark blue for vmin -> red for vmax

要“清除”其他值(低于和超过定义的范围),您可以使用 cmap 函数来精确应用颜色:

cmap.set_under('w') # will use white for values under vmin
cmap.set_over('k') # will use black for values over vmax

关于python - 自定义颜色图并更改用户范围以绘制未在整个范围上定义的 2D 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959135/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com