将contourf颜色的给定值转换为rgb代码

时间:2015-12-10 16:15:31

标签: python matplotlib colormap contourf

我用边界vmin = 0,vmax = 4创建了带有绿色配色方案的2D轮廓图。这是代码:

ax.contourf(xi/d,yi/d,data/d,12,vmin=0,vmax=4,cmap=vs.viridis(),aspect='equal')

现在我从另一个计算中得到一个数据点= 3.5的特定位置的数据点,并希望使用彩色圆形补丁将其叠加到轮廓上。

那么如何将rgb颜色信息添加到范围内的圆圈并使用我的contourf的colorscheme

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以使用matplotlib.colors.Normalize实例执行此操作:

import matplotlib.pyplot as plt
import matplotlib.colors as colors

norm = colors.Normalize(vmin=0,vmax=4)
cmap = plt.cm.viridis

mycolor = cmap(norm(3.5))
print mycolor
# (0.67848900000000001, 0.86374200000000001, 0.189503, 1.0)

请注意,如果已从其他文件导入色彩映射表,则需要先在matplotlib中注册,然后再进行此操作。例如:

import myviridisfile as vs
plt.register_cmap(name='viridis', cmap=vs.viridis)