【问题标题】:Matplotlib: same height for colorbar as for plot [duplicate]Matplotlib:颜色条的高度与绘图的高度相同[重复]
【发布时间】:2014-11-20 00:02:51
【问题描述】:

我正在绘制一些二维数据,如图所示。轴方面应该相等,轴范围应该不同。

import numpy
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

#Generate data
delta = 0.025

x = numpy.arange(-5.0, 5.0, delta)
y = numpy.arange(-5.0, 5.0, delta)

X, Y = numpy.meshgrid(x, y)

Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)

#Plot
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1,  aspect='equal')

PC = ax1.pcolor(X, Y, Z)
CF = ax1.contour(X, Y, Z, 50, colors = "black")

plt.xlim(-4.0, 4.0)
plt.ylim(-2.0, 2.0)

cbar = plt.colorbar(PC)
cbar.add_lines(CF)

plt.show()

如何使 colobar 与绘制的数据具有相同的高度?

【问题讨论】:

    标签: python matplotlib plot colorbar


    【解决方案1】:

    您可以使用make_axes_locatable

    import numpy
    import matplotlib.pyplot as plt
    import matplotlib.mlab as mlab
    from mpl_toolkits.axes_grid1 import make_axes_locatable
    
    #Generate data
    delta = 0.025
    
    x = numpy.arange(-5.0, 5.0, delta)
    y = numpy.arange(-5.0, 5.0, delta)
    
    X, Y = numpy.meshgrid(x, y)
    
    Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
    Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
    # difference of Gaussians
    Z = 10.0 * (Z2 - Z1)
    
    #Plot
    fig = plt.figure()
    ax1 = fig.add_subplot(1, 1, 1,  aspect='equal')
    
    PC = ax1.pcolor(X, Y, Z)
    CF = ax1.contour(X, Y, Z, 50, colors = "black")
    
    plt.xlim(-4.0, 4.0)
    plt.ylim(-2.0, 2.0)
    
    divider = make_axes_locatable(ax1)
    cax1 = divider.append_axes("right", size="5%", pad=0.05)
    
    cbar = plt.colorbar(PC, cax = cax1)
    cbar.add_lines(CF)
    
    plt.show()
    

    【讨论】:

    • 这不适用于 GeoAxes 等投影轴,对 divider.append_axes() 的调用将引发异常。从常规轴可以工作。
    猜你喜欢
    • 1970-01-01
    • 2015-05-20
    • 2015-01-18
    • 2017-07-12
    • 2015-06-27
    • 1970-01-01
    • 2018-12-29
    • 2017-07-13
    • 1970-01-01
    相关资源
    最近更新 更多