创建后重新缩放matplotlib.colorbar和matplotlib.contour

时间:2018-11-23 08:41:23

标签: python matplotlib

我有一个使用matplotlib生成的轮廓图。

import numpy as np
import matplotlib.pyplot as plt

X = np.linspace(-10, 10, 100)
Y = np.linspace(-10, 10, 100)
XX, YY = np.meshgrid(X, Y)
ZZ = XX**2 + YY**2
levels = np.linspace(0, 200, 10)

fig, ax = plt.subplots()
cf = ax.contourf(X, Y, ZZ, levels=levels)
cbar = fig.colorbar(cf)

这将生成此图:

enter image description here

现在想象一下,由于某种原因,该图形是通过某些函数调用传递给用户的,而用户仅获得axfigcbar对象。 / p>

更新:之所以要这样做,是因为我必须以自动化方式制作大量的轮廓图。我已经在后端自动创建了轮廓图(在上面被模糊地描述为“函数调用”)。但是对于某些地块,需要进行一些细微的修改才能生成精美的地块。因此,如果我需要从+400个数字中调整的几个数字可以通过ax,{{1 }}和fig对象。

现在只处理那些对象,我要放大并重新调整颜色栏和色阶。

放大:

cbar

enter image description here

更改颜色条和刻度的限制:

ax.set_xlim(2.5, 7.5)
ax.set_ylim(2.5, 7.5)

enter image description here

更改颜色条本身的比例:

new_clim = (0, 100)
# find location of the new upper limit on the color bar
loc_on_cbar = cbar.norm(new_clim[1])
# redefine limits of the colorbar
cf.colorbar.set_clim(*new_clim)
cf.colorbar.set_ticks(np.linspace(*new_clim, 10))
# redefine the limits of the levels of the contour
cf.set_clim(*new_clim)
# updating the contourplot
cf.changed()

enter image description here

现在这里有一些问题:

  1. 在没有顶部烦人的空矩形的情况下,我似乎找不到找到如何重新调整颜色条轴的方法。
  2. 创建实例后,我找不到如何调整等高线图和颜色栏中的级别数。

非常感谢!

0 个答案:

没有答案