Yoh*_*gan 1 python matplotlib colorbar
我有一个函数(plot_fualt_axis() 在代码中看到)在给定的轴上绘制矩形 paches,我试图在图形上绘制 3 个这样的轴并向图形添加一个颜色条。当我尝试添加颜色条时,它正在改变相邻轴的大小,但我没有找到任何解决方法。
我的代码
from inversion_utilities import *
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
inv = build_inversion('resample_test/resample_test')
grad_solutions = np.load('results/noise_test/grad_1000.npy')
grad_std = np.std(grad_solutions, 0)
cn_solutions = np.load('results/noise_test/resample_1000.npy')
cn_std = np.std(cn_solutions, 0)
uniform_solutions = np.load('results/noise_test/uniform_1000.npy')
uniform_std = np.std(uniform_solutions, 0)
f, axarr = plt.subplots(3, figsize=(15, 10))
plot_fualt_axis(inv.plains, axarr[0], uniform_std, False)
plot_fualt_axis(inv.plains, axarr[1], grad_std, False)
plot_fualt_axis(inv.plains, axarr[2], cn_std, False)
divider = make_axes_locatable(axarr[2])
cax = divider.append_axes("bottom", size="10%", pad=0.3)
norm = matplotlib.colors.Normalize(0, 0.001)
my_cmap = cm.get_cmap('jet')
cmmapable = cm.ScalarMappable(norm, my_cmap)
cmmapable.set_array(np.linspace(0, 0.001))
colorbar(cmmapable, orientation='horizontal', cax=cax)
plt.show()
Run Code Online (Sandbox Code Playgroud)
从中我得到了这个数字,其中两个顶部轴都大于底部轴。我如何使它们都相同大小?
我不熟悉make_axes_locatable,但从文档来看,它似乎正在划分您的axarr[2]空间,为颜色条腾出空间。您可以直接向图中添加颜色条轴。显然我无法重现你的图,但这里有一个使用等高线图的例子:
import matplotlib.pyplot as plt
import numpy as np
# Create some fake data and define levels for a contour plot.
a = np.arange(12)[:,np.newaxis] * np.ones(8)
levels = np.arange(1.5, 10, 2)
# Create figure and axes array.
f, axarr = plt.subplots(3, figsize=(15, 10))
# Make three identical contour plots.
for i in range(3):
plt.sca(axarr[i])
myplot = plt.contourf(a, cmap='RdYlBu', levels=levels, extend='both')
# Find position of last contour plot and use this to set position of new
# colorbar axes.
left, bottom, width, height = axarr[2].get_position().bounds
cax = f.add_axes([left, 0.03, width, height * 0.1])
plt.colorbar(myplot, orientation='horizontal', cax=cax)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1502 次 |
| 最近记录: |