我想为图中的每个子图都设置一个背景。在我的例子中,我想让左边是红色,右边是蓝色。
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.gridspec import GridSpec
fig = plt.figure()
gs = GridSpec(1,2,figure=fig)
data1 = np.random.rand(10,10)
data2 = np.random.rand(10,10)
ax_left = fig.add_subplot(gs[:,0], facecolor='red')
ax_left.set_title('red')
img_left = ax_left.imshow(data1, aspect='equal')
ax_right = fig.add_subplot(gs[:,1], facecolor='blue')
ax_right.set_title('blue')
img_right = ax_right.imshow(data2, aspect='equal')
plt.show()
我该如何对这种行为进行编码?先谢谢你。
2条答案
按热度按时间1hdlvixo1#
您正在设置轴的面颜色,同时希望更改体形的面颜色。
如果需要两种颜色,可以创建subfigures而不是子图:
dgiusagp2#
您可以在图形的任意一侧添加一些
matplotlib.patches.Rectangles
来创建明显的背景:(this代码确实假设子图的位置位于居中的垂直分隔线的两侧)