将colorbar用于非类型对象

时间:2017-04-01 10:46:20

标签: python-2.7 matplotlib plot colorbar

我目前尝试修改python2.7代码中的绘图。这个图来自辐射传输代码(我无法修改),输出是带有方法的类类型:

plot_image(wavelength0, overplot=False, inclination=None, cmap=None, 
          ax=None, axes_units='AU', polarization=False, polfrac=False, 
          psf_fwhm=None, vmin=None, vmax=None, dynamic_range=1000000.0)

更多信息here

因此,当我在此之后放置plt.title()plt.savefig()时,我会调用相应的方法并更改绘图的标题,并按预期保存绘图!

然而,有两件事我没有找到办法:

  1. 添加颜色栏
  2. 以对数刻度跟踪表面
  3. 因为方法中没有参数允许这样做 当我尝试使用plt.colorbar(fig)fig=res.plot_image(...)(使用res类,输出辐射传输代码)时,错误表明fig不是可映射的对象(似乎是逻辑)。

    任何可以帮助我的想法?希望我给你足够的信息。

    抱歉我的英文

    Lo_du

1 个答案:

答案 0 :(得分:0)

如果res.plot_image(...)只将一个图像绘制到一个轴上,那么获得色条的解决方案可能非常简单。

import numpy as np
import matplotlib.pyplot as plt

#.... some code

res.plot_image(...)

im, = plt.gca().get_images()

plt.colorbar(im)

plt.show()