1
我试图插入一个PNG图片的情节的右侧,这里提到的代码如下: Combine picture and plot with Python Matplotlib将图片添加到情节-matplotlib PYTHON
这里是我曾尝试:
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.cbook as cbook
from matplotlib._png import read_png
from matplotlib.offsetbox import OffsetImage
cmap = mpl.cm.hot
norm = mpl.colors.Normalize(vmin=-1 * outlier, vmax=outlier)
cmap.set_over('green')
cmap.set_under('green')
cmap.set_bad('green')
plt.xlim(0,35)
plt.ylim(0,35)
fig, ax = plt.subplots()
ax.set_aspect('equal')
cb_ax=fig.add_axes([0.85, 0.1, 0.03, 0.8])
img = ax.imshow(np.ma.masked_values(data, outlier), cmap=cmap, norm=norm, interpolation='none',vmax=outlier)
cb = mpl.colorbar.ColorbarBase(cb_ax, cmap=cmap, norm=norm, extend='both')
##axim = plt.subplot2grid(shape, loc, rowspan=1)
## phlo tree
image_file = cbook.get_sample_data('mytree.png',asfileobj=False)
image = plt.imread(image_file)
phyl_ax=fig.add_axes([0.10,0.1, 0.03, 0.8])
phyl_ax.imshow(image,interpolation='nearest')
Th热图将在左侧,树的图像将插入右侧。这里与上面的代码是什么我得到...
没有被添加到右侧的东西,但显然它是不是应该像的方式。 起初我以为我设置phyl_ax的尺寸太小,但是当我尝试增加它时,即使之前的“东西”也没有被添加。
有人能指出我出错的地方吗?
对不起,我需要一个小的澄清。有一个轴用于热图的imshow,所以根据您的第一个解决方案,我应该在使用它之前添加此轴? – user2998764
是的,看我更新的答案。 – hackyday
Gridspec完美地完成了这个技巧,谢谢 – user2998764