首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >twinx打乱了pcolormesh绘图的colorbar

twinx打乱了pcolormesh绘图的colorbar
EN

Stack Overflow用户
提问于 2021-09-30 10:37:10
回答 1查看 62关注 0票数 0

当我试图在图像上绘制一些值时,我遇到了一个问题。问题是我不能真正正确地放置色条。正确地说,我的意思是我叠加了一个线条图的图像。这个线条图的yaxis应该在右边,标签在右边,再往右应该是图像的颜色条。

以下是显示问题的简化代码:

代码语言:javascript
复制
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用链接代替了它)。

without ax2 = ax.twinx()

with ax2 = ax.twinx()

我已经尝试过make_axes_locatable(ax).append_axes()make_axes_locatable(ax).new_horizontal()的组合,灵感来自于这个问题的答案:Positioning the colorbar

在查看fig.colorbar()的文档时,我找到了参数axcax,并尝试使用它们。他们做了很多事情,但不是我想做的。

我不确定我做错了什么,在互联网上找不到,我很感谢任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-30 10:56:38

你有没有用constrained_layout试过普通的色条:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

image = np.random.randint(10,  size=100).reshape(10, 10)

fig, ax = plt.subplots(constrained_layout=True)
ax2 = ax.twinx()  
ax2.plot(image.sum(0), 'r')  
im = ax.pcolormesh(image)

cbar = fig.colorbar(im, ax=ax)
plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69390700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档