[英]How to add a single colobar that will show the data from 2 different subplot
[英]How to get the logscaled colobar from imshow with contourf?
我正在尝试将matflotlib与matplotlib一起使用,并且希望我的contourf colobar具有与imshow颜色条相同的形状,并且具有对数刻度通常具有的所有刻度。
matplotlib是否允许这种“转换”?
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.colors import LogNorm
A = np.random.uniform(low=10e-3, high=10e3, size=(100,100))
fig, ax = plt.subplots()
im = ax.imshow(A, interpolation='bilinear', cmap=cm.jet, norm=LogNorm())
plt.colorbar(im)
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.colors import LogNorm
A = np.random.uniform(low=10e-3, high=10e3, size=(100,100))
fig, ax = plt.subplots()
ctf = ax.contourf(A, 100, cmap=cm.jet, norm=LogNorm())
plt.colorbar(ctf)
等高线图的颜色条当然应该显示等高线的实际水平。 人们将需要手动设置级别,然后指定一个相应的代码。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.colors import LogNorm
import matplotlib.ticker as mticker
A = np.sort(np.logspace(-3, 3, num=100*100)).reshape(100,100)
levels = np.logspace(-3,3,num=101)
fig, ax = plt.subplots()
levs = np.power(10, np.arange(-3., 4., 0.1))
cntr = ax.contourf(A, cmap=cm.jet, levels=levs, norm=LogNorm())
cb = plt.colorbar(cntr, ticks=mticker.LogLocator())
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.