【发布时间】:2013-07-11 14:21:54
【问题描述】:
我想绘制一个子图,例如:
Title 1
Fig1 Fig2 Fig3
为这 3 个数字 (1,2,3) 提供一个通用颜色条。
Title2
Fig4 Fig5 Fig6
为这 3 个数字 (4,5,6) 提供一个通用颜色条。
如上所述,我还没有找到在同一个图形上添加两个不同颜色条的方法。
【问题讨论】:
标签: python matplotlib colorbar
我想绘制一个子图,例如:
Title 1
Fig1 Fig2 Fig3
为这 3 个数字 (1,2,3) 提供一个通用颜色条。
Title2
Fig4 Fig5 Fig6
为这 3 个数字 (4,5,6) 提供一个通用颜色条。
如上所述,我还没有找到在同一个图形上添加两个不同颜色条的方法。
【问题讨论】:
标签: python matplotlib colorbar
这有点棘手,但您可以使用公共颜色条共享子图集。
我引用了一些可能也值得一读的先前答案:
Matplotlib 2 Subplots, 1 Colorbar
How can I create a standard colorbar for a series of plots in python
当然,documentation 用于 matplotlib:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid
# Generate some random data
data_top = np.random.random((3,10,10)) * 5
data_bot = np.random.random((3,20,20)) * 10
fig = plt.figure()
grid_top = ImageGrid(fig, 211, nrows_ncols = (1, 3),
cbar_location = "right",
cbar_mode="single",
cbar_pad=.2)
grid_bot = ImageGrid(fig, 212, nrows_ncols = (1, 3),
cbar_location = "right",
cbar_mode="single",
cbar_pad=.2)
for n in xrange(3):
im1 = grid_top[n].imshow(data_top[n],
interpolation='nearest', vmin=0, vmax=5)
im2 = grid_bot[n].imshow(data_bot[n], cmap=plt.get_cmap('bone'),
interpolation='nearest', vmin=0, vmax=10)
grid_top.cbar_axes[0].colorbar(im1)
grid_bot.cbar_axes[0].colorbar(im2)
plt.show()
【讨论】: