Python Matplotlib,绘图上的对数颜色比例,但色条图例上的线性颜色比例

Python Matplotlib,绘图上的对数颜色比例,但色条图例上的线性颜色比例,python,matplotlib,legend,contour,colorbar,Python,Matplotlib,Legend,Contour,Colorbar,我想以对数比例进行绘图,我已经使用: plt.contourf(cube[0,:,:].data, levels=np.arange(0,6000,10), norm=mplc.LogNorm()) 但我希望颜色条仍然是线性比例…这可能吗?如果可能,我该怎么做?norm关键字在plt.colorbar()命令中似乎无效。请参阅。一个有效的例子: import matplotlib.pyplot as plt import matplotlib.colors as mplc import num

我想以对数比例进行绘图,我已经使用:

plt.contourf(cube[0,:,:].data, levels=np.arange(0,6000,10), norm=mplc.LogNorm())
但我希望颜色条仍然是线性比例…这可能吗?如果可能,我该怎么做?norm关键字在
plt.colorbar()
命令中似乎无效。

请参阅。一个有效的例子:

import matplotlib.pyplot as plt
import matplotlib.colors as mplc
import numpy as np
data = np.random.random((10,10))*6e3
my_cmap = plt.cm.coolwarm

# contour plot
plt.contourf(data, levels=np.arange(0,6000,10), cmap=my_cmap, norm=mplc.LogNorm())

# colorbar
sm = plt.cm.ScalarMappable(cmap=my_cmap, norm=plt.Normalize(vmin=0, vmax=6000))
sm._A = []
plt.colorbar(sm)

我相信还有更直接的方法,但一个黑客可能会制作第二个看不见的图像,而不进行日志缩放,然后将颜色栏连接到该图像。你的意思是这样吗?