首页 > 解决方案 > 带有自定义颜色条的 Python 轮廓函数

问题描述

我有一个情节,想强调低价值区域,看看那里的价值如何变化。我正在考虑使用 gamma 函数(gamma<1),使得 y = x^(gamma),其中 x 是旧值,y 是新值。这确保加强较低的值并使较高的值不那么重要。我的问题是我的颜色条也发生了变化,尽管我想要旧值,即 x = y^(1/gamma)。
pcolormesh 函数可以解决这个问题。
由于我使用的是离散数据,因此我更喜欢 contourf 函数。这是我的代码:

umu = [0.99999,0.99452,0.98481,0.96593,0.93969,0.90631,0.86603,0.81915,0.76604,0.70711,
       0.64279,0.57358,0.50000,0.42262,0.34202,0.25882,0.17365,0.08716,0.00000]    
umu=umu[::-1]
umu = np.multiply(umu,-1)
umu = arccos(umu)  
umu = pi-umu 

phi = np.arange(0,375,15)
phi = phi*pi/180
   
vmin, vmax = 0, max_DoP 
levels = np.linspace(vmin,vmax,100)

max_DoP = max(DoP)

fig = figure(figsize=(8,8))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], polar=True)
contourf(phi*pi/180, umu*180/pi, DoP, cmap=cm.jet, levels=levels, vmax=vmax, vmin=vmin)
plt.rc('font', size=32)
ax.grid(linewidth=2)
ax.xaxis.set_tick_params(pad=28)
plt.colorbar(orientation="vertical",fraction=0.09,anchor=(2.0,0.0))
savefig('DoP.png')

阴谋

DoP 是一个 (19*25) 矩阵,包含从 Excel 文件中读取的 0 到 55 的值。

您知道如何在绘图中使用颜色条上的旧 x 值来转换 y 值吗?
谢谢你的帮助!

标签: pythonmatplotlibcontourf

解决方案


推荐阅读