如何移除Matplotlib中图形中的色条?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

基本上,我在matplotlib中有一个子图,在每次调用函数时,我都要绘制一个十六进制图,但是每次调用这个函数时,我都会得到一个新的颜色条,所以我真正想要做的是更新这个颜色条。不幸的是,这似乎不起作用,因为色条所连接的对象是由subplot.hebin重新创建的。

def foo(self):
   self.subplot.clear()
   hb = self.subplot.hexbin(...)
   if self.cb:
      self.cb.update_bruteforce() # Doesn't work (hb is new)
   else:
      self.cb = self.figure.colorbar(hb)

我试图删除所有的颜色条轴,并简单地重新创建它。不幸的是,当我删除颜色条轴时,子图轴不会收回空间,而调用Sel.subplot.Reset_职位()没有做我想做的事情。

def foo(self):
   self.subplot.clear()
   hb = self.subplot.hexbin(...)
   if self.cb:
      self.figure.delaxes(self.figure.axes[1])
      del self.cb
      # TODO: resize self.subplot so it fills the 
      #    whole figure before adding the new colorbar
   self.cb = self.figure.colorbar(hb)

提问于
用户回答回答于

def foo(self):
   self.subplot.clear()
   hb = self.subplot.hexbin(...)
   if self.cb:
      self.figure.delaxes(self.figure.axes[1])
      self.figure.subplots_adjust(right=0.90)  #default right padding
   self.cb = self.figure.colorbar(hb)

用户回答回答于

扫码关注云+社区