【发布时间】:2021-11-22 04:56:18
【问题描述】:
我在尝试在图像顶部绘制一些值时遇到了问题。问题是我无法真正正确放置彩条。正确地说,我的意思是我覆盖线图的图像。此线图的 y 轴应位于其标签的右侧,然后再往右应是图像的颜色条。
这是显示问题的简化代码:
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import make_axes_locatable
image = np.random.randint(10, size=100).reshape(10, 10)
fig, ax = plt.subplots()
# ax2 = ax.twinx() # -> Calling this messes up the colorbar
# ax2.plot(image.sum(0), 'r') # what I actually want to do but not needed for the error
im = ax.pcolormesh(image)
cax = make_axes_locatable(ax).append_axes('right', size="5%", pad=0.4)
cbar = fig.colorbar(im, cax=cax)
您可以在下面看到ax2 = ax.twinx() 在颜色栏上的效果(我对图像的声誉不够,所以 stackoverflow 用链接替换了它)。
我尝试过make_axes_locatable(ax).append_axes() 以及与make_axes_locatable(ax).new_horizontal() 的组合,灵感来自这个问题的答案:Positioning the colorbar。
查看fig.colorbar() 的文档,我找到了ax 和cax 的参数,并与它们一起玩。他们做了很多,但不是我想要的。
我不知道我做错了什么,在互联网上找不到,我很感谢任何建议。
【问题讨论】:
标签: python matplotlib colorbar twinx