我已经看到了使多个子地块保持每个子地块的纵横比“相等”的很好的解决方案:
Matplotlib 2 Subplots, 1 Colorbar
https://stackoverflow.com/a/23953487/10659110
…但几何结构不同。 我挥动3个“方形”图(3个具有相同x和y范围的彩色贴图),我想将它们排列在一个垂直列中,在顶部或底部有一个水平的彩色条
这里有一个例子:
#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from pylab import meshgrid,cm,imshow,contour,clabel,colorbar,axis,title,show
Nlatt = 200
Lrange = 20
# Create grid values first.
xs = np.linspace(-Lrange, Lrange, Nlatt, endpoint=True)
ys = np.linspace(-Lrange, Lrange, Nlatt , endpoint=True)
X,Y = meshgrid(xs, ys) # grid of point
Zx = np.sin(Y-X)*np.sin(Y+X)
Zy = np.cos(Y)*np.sin(X)
ZZ = np.sqrt( Zx**2 + Zy**2 )
fig = plt.figure() #e.g. "2,3,4" means "2x3 grid, 4th subplot"
ax1 = fig.add_subplot(3,1,1, aspect = "equal")
ax2 = fig.add_subplot(3,1,2, aspect = "equal")
ax3 = fig.add_subplot(3,1,3, aspect = "equal")
im1 = ax1.pcolor( X , Y , Zx , cmap='bwr' ,vmin=-2.5, vmax=2.5)
im2 = ax2.pcolor( X , Y , Zy , cmap='bwr' ,vmin=-2.5, vmax=2.5)
im3 = ax3.pcolor( X , Y , ZZ , cmap='bwr' ,vmin=-2.5, vmax=2.5)
plt.tight_layout()
plt.show()
我想在顶部(或底部)添加公共水平颜色条,并共享x轴,以便标签“x”和x坐标编号仅显示在第三个绘图的底部。实际上,所需的输出是Matplotlib shared horizontal colorbar aligned with bottom axis in subplots中描述的输出,但我不太清楚这个解决方案是如何工作的。此外,我还需要一个标签和底部x轴的编号。谢谢你的每一个提示
目前没有回答
相关问题 更多 >
编程相关推荐