Python 丢失最后一个colormap子批次matplotlib中的边值
我正在使用python 3.5.2和matplotlib 1.5.3 我正在做一些y轴共享的彩色贴图。 问题是,当将颜色条放置在最后一个子批次中时,我丢失了x轴上的第一个和最后一个记号。但如果放大图形(例如figsize=(12,3)),则在另一个子地块的边缘会出现一些空白Python 丢失最后一个colormap子批次matplotlib中的边值,python,matplotlib,Python,Matplotlib,我正在使用python 3.5.2和matplotlib 1.5.3 我正在做一些y轴共享的彩色贴图。 问题是,当将颜色条放置在最后一个子批次中时,我丢失了x轴上的第一个和最后一个记号。但如果放大图形(例如figsize=(12,3)),则在另一个子地块的边缘会出现一些空白 import numpy as np import matplotlib.pyplot as plt matrix = np.random.random((10, 10, 3)) fig = plt.figure(figs
import numpy as np
import matplotlib.pyplot as plt
matrix = np.random.random((10, 10, 3))
fig = plt.figure(figsize=(10, 3)) # Try a figsize=(12, 3)
for i in range(3):
if i == 0:
ay1 = plt.subplot(1, 3, i+1)
else:
plt.subplot(1, 3, i+1, sharey=ay1)
plt.imshow(matrix[:, :, i], interpolation='nearest')
if i == 2:
plt.colorbar()
plt.show()
正确的方法是什么?只有在使用不同大小的图像时,使用
sharey
才有意义。但是,当图像大小不同时,在人物的某些部分,没有任何东西会被涂成白色
另一方面,如果您的图片大小与此处相同,则无需使用shary
。在这种情况下,您可以简单地绘制数据并添加颜色条
import numpy as np
import matplotlib.pyplot as plt
matrix = np.random.random((10, 10, 3))
fig, ax = plt.subplots(1,3, figsize=(12, 3))
plt.subplots_adjust(left=0.05, right=0.85)
for i in range(3):
im = ax[i].imshow(matrix[:, :, i], interpolation='nearest')
ax[i].set_aspect("equal")
plt.draw()
p = ax[-1].get_position().get_points().flatten()
ax_cbar = fig.add_axes([0.9,p[1], 0.02, p[3]-p[1]] )
plt.colorbar(im, cax=ax_cbar)
plt.show()