Matplotlib颜色条具有一致的大小,可用于多个子图

我正在尝试创建一个具有多个带有相同颜色条的子图的图形。子图必须具有相等的纵横比,并且颜色栏必须具有与子图相同的高度。但是,我无法获得与其他子图相同高度的窄色条。


我正在使用此配方来生成一个颜色条,该颜色条的范围适用于所有子图。因此,MWE中未解决此问题。


使用轴分割器配方附加色条时,子图的高度会因长宽比而变化。


这是MWE


from matplotlib import pyplot as plt

from mpl_toolkits.axes_grid1 import make_axes_locatable


import itertools as it

import numpy as np


mean = [0, 0]

cov = [[1, 0.5],

       [0.5, 4]]

n_samples = 10000

hrange = [[-5,5],[-5,5]]

bins = 20


# RANDOM DATA

Z_random = np.random.multivariate_normal(mean, cov, size=n_samples)

Z, xedges, yedges = np.histogram2d(Z_random[:,0], Z_random[:,1], bins=bins, range=hrange, normed=True)

X, Y = np.meshgrid(xedges, yedges)


# PLOT PCOLORMESHS

fig, axes = plt.subplots(2,3, subplot_kw=dict(aspect="equal"))

axes = dict(enumerate(fig.get_axes(),1))


for i,ax in axes.items():

    if i==6:

        break

    pcm = ax.pcolormesh(X,Y,Z)


# PLOT COLORBAR

divider = make_axes_locatable(axes[6])

cax = divider.append_axes("left", size="15%", pad=0.0)

fig.colorbar(pcm, cax=cax, label=r"Colorbar label")

http://img1.mukewang.com/60acb3c10001dfd711820780.jpg

我可以在整个子图上绘制颜色条,在这种情况下,高度是正确的,但是吸引人的范围很大。

是否有人有“健壮”的解决方案,即无需手动摆弄持有颜色条的子图的尺寸?


翻翻过去那场雪
浏览 221回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python