나는 ImageGrid
을 사용하여 일부 패널을 플롯하려했습니다. grid.cbar_axes[0].colorbar(im)
을 사용하여 색상 막대를 설정하면 색상이 잘 보이지만 색상 막대의 눈금은 2x10^0
에서 None
으로 변경됩니다.LogNorm 및 ImageGrid가 사용될 때 Matplotlib 색상 막대
수십 개의 해결 방법을 시도했지만 아무 효과가 없습니다.
불행하게도 내가 완벽하게 문제를 재현 MWE를 만들 수 없습니다 : 여기 만들기 위해 노력하고있어 그림 (내 잘못 버전)입니다. 나는 그것을 부분적으로 재현하는 MWE를 만들었다. 이 코드를 사용하는 경우 :
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid
from matplotlib.colors import LogNorm
def get_demo_image():
import numpy as np
from matplotlib.cbook import get_sample_data
f = get_sample_data("axes_grid/bivariate_normal.npy", asfileobj=False)
z = np.load(f)
return abs(z), (-3, 4, -4, 3)
F = plt.figure(figsize=(5.5, 3.5))
grid = ImageGrid(F, 111, # similar to subplot(111)
nrows_ncols=(1, 3),
axes_pad=0.1,
add_all=True,
label_mode="L",
cbar_mode='single'
)
Z, extent = get_demo_image() # demo image
im1 = Z
im2 = Z
im3 = Z
vmin, vmax = 1e-3, 1e10
for i, im in enumerate([im1, im2, im3]):
ax = grid[i]
imc = ax.pcolormesh(range(15), range(15), im, norm=LogNorm(vmin=vmin, vmax=vmax), linewidth=0, rasterized=True)
cb=grid.cbar_axes[0].colorbar(imc)
을 나는 상한 괜찮을 것 같습니다 것을 제외하고, 거의 같은 동작을 얻을. 낮은 한도는 여전히 vmin
과 vmax
에 어떤 값을 사용하든 동일한 이상한 동작을 나타냅니다.
어떤 일이 벌어지고 있는지 알기 원하십니까? official example이 grid[2].cax.colorbar(im)
로 여기 번역 할 cb=grid.cbar_axes[0].colorbar(imc)
비슷한을 사용하지만