Skip to main content
 首页 » 编程设计

python之颜色条打断轴

2025年05月04日13mengfanrong

我有一个问题,颜色条破坏了我的轴的缩放比例,我不知道为什么。考虑以下代码

import matplotlib.pyplot as plt 
import numpy as np 
fig, axes = plt.subplots(1,3,figsize = (8,6/Φ), sharey=True,gridspec_kw={"width_ratios":[1,1, 0.05]}) 
(ax1,ax2,cax) = axes 
 
x_ = np.linspace(-1,0,350) 
y_ = np.linspace(0,1,350) 
X,Y = np.meshgrid(x_,y_,indexing = "ij") 
 
dq = -Y/X 
dq[dq>1] = 1 
 
im1 = ax1.pcolormesh(X, Y*1e28, (1+dq)*1e12, vmin=0, vmax=2e12,cmap = "inferno",) 
 
im2 = ax2.pcolormesh(X, Y*1e28, (1-dq)*1e12, vmin=0, vmax=2e12,cmap = "inferno") 
 
plt.show() 

它创造

现在,我添加一个颜色条,如下所示

fig.colorbar(im1,  cax=cax) 

我得到以下结果

你能告诉我这里出了什么问题吗?!还要注意一个有趣的错误,即 y 轴的 1e28 已被 1e12 取代!

预先感谢您的帮助

请您参考如下方法:

您正在与颜色条轴共享绘图轴。这没有用,因为它们通常会以非常不同的方式缩放。

使用 sharey=False 获取所需的绘图。