我想为我的图的每个子图都有一个背景。在我的例子中,我想左边是红色,右边是蓝色。
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条答案
按热度按时间vlurs2pr1#
您正在设置轴面颜色,而要更改地物面颜色。
如果你想要两种颜色,你可以创建subfigures而不是子图:
flvlnr442#
您可以在人物的两侧添加一些
matplotlib.patches.Rectangles
来创建明显的背景:(this代码确实假设子图的位置位于居中垂直分隔线的两侧)