提问者:小点点

为子批次设置背景色


假设我有一个像这样的4个子情节的图像:

导入matplotlib。pyplot作为plt导入numpy作为np

# Simple data to display in various forms
x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

# Four axes, returned as a 2-d array
f, axarr = plt.subplots(2, 2)
axarr[0, 0].plot(x, y)
axarr[0, 0].set_title('Axis [0,0]')
axarr[0, 1].scatter(x, y)
axarr[0, 1].set_title('Axis [0,1]')
axarr[1, 0].plot(x, y ** 2)
axarr[1, 0].set_title('Axis [1,0]')
axarr[1, 1].scatter(x, y ** 2)
axarr[1, 1].set_title('Axis [1,1]')
# Fine-tune figure; hide x ticks for top plots and y ticks for right plots
plt.setp([a.get_xticklabels() for a in axarr[0, :]], visible=False)
plt.setp([a.get_yticklabels() for a in axarr[:, 1]], visible=False)

plt.show()

它返回这个:

我想给其中一个图添加一个灰色背景,比如左下角的一个,因为我喜欢R使一些图像看起来的方式(参见这里的示例)。我还没有找到一个简单的方法来使用matplotlib,我是否遗漏了什么?


共2个答案

匿名用户

您只需执行axarr[1,0]。设置面颜色(“灰色”)以手动更改任何特定轴的轴颜色。

匿名用户

斧头。set_axis_bgcolor()自2.0版以来已被弃用。现在使用set_facecolor()。