Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使垂直堆叠的对偶图的顶部图变小?_Python_Python 3.x_Matplotlib_Subplot_Colormap - Fatal编程技术网

Python 如何使垂直堆叠的对偶图的顶部图变小?

Python 如何使垂直堆叠的对偶图的顶部图变小?,python,python-3.x,matplotlib,subplot,colormap,Python,Python 3.x,Matplotlib,Subplot,Colormap,我有一张图,上面有两张图,可以直接比较。但是,当我在图形中添加颜色条时,它会使顶部图形比下面的颜色贴图更宽,如下图所示,但我希望顶部线条图形与下面的颜色贴图一样宽: 使用代码: import numpy as np import matplotlib.pyplot as plt x = 20,40,60,80,100 y = 0,0,0,30,100 x1 = [[20, 20, 20, 20, 20], [40, 40, 40, 40, 40], [60, 60, 60, 60,

我有一张图,上面有两张图,可以直接比较。但是,当我在图形中添加颜色条时,它会使顶部图形比下面的颜色贴图更宽,如下图所示,但我希望顶部线条图形与下面的颜色贴图一样宽:

使用代码:

import numpy as np 
import matplotlib.pyplot as plt 



x = 20,40,60,80,100
y = 0,0,0,30,100

x1 = [[20, 20, 20, 20, 20], [40, 40, 40, 40, 40], [60, 60, 60, 60, 60], [80, 80, 80, 80, 80], [100, 100, 100, 100, 100]]
y1 = [[1000, 2000, 3000, 4000, 5000],[1000, 2000, 3000, 4000, 5000],[1000, 2000, 3000, 4000, 5000],[1000, 2000, 3000, 4000, 5000],[1000, 2000, 3000, 4000, 5000]]
z1 = [[0,0,0,0,0], [0,1,2,1,0], [0,1,2,1,0], [0,20,100,20,0], [0,40,200,40,0]]



gridspec_kw = dict(
    height_ratios=(1, 2),
    hspace=0,
)

fig, axes = plt.subplots(
    nrows=2, ncols=1, sharex=True, gridspec_kw=gridspec_kw,
)

axes[0].plot(x,y)
cs = axes[1].pcolor(x1, y1, z1, cmap='RdBu')
plt.colorbar(cs)
plt.show()

问题是颜色栏在子地块中占用了一些空间。您可以使用此解决方案,并用以下代码替换plt.colorbar(cs)行:

fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(cs, cax=cbar_ax)