Matplotlib:如何为每个子图添加xlabel,标题

我正在尝试使用绘制多个热图plt.subplots。我发现一个示例如下:

import numpy as np

import matplotlib.pyplot as plt

# Generate some data that where each slice has a different range

# (The overall range is from 0 to 2)

data = np.random.random((4,10,10))

data *= np.array([0.5, 1.0, 1.5, 2.0])[:,None,None]

# Plot each slice as an independent subplot

fig, axes = plt.subplots(nrows=1, ncols=4,figsize=(12,3))

i=0

for dat, ax in zip(data, axes.flat):

# The vmin and vmax arguments specify the color limits

im = ax.imshow(dat, vmin=0, vmax=2,cmap='Reds')

# ax.xlabel(str(i))

# ax.ylabel(str(i))

i += 1

# Make an axis for the colorbar on the right side

cax = fig.add_axes([0.95, 0.155, 0.03, 0.67])

fig.colorbar(im, cax=cax)

figtype = 'jpg'

fig.savefig('aaa.jpg',format = figtype,bbox_inches='tight')

fig.tight_layout()

如果我注释以下两行,则代码成功(在上面的示例中完成):

ax.xlabel(str(i))

ax.ylabel(str(i))

如果使用这两行,则会收到错误消息:

AttributeError: 'AxesSubplot' object has no attribute 'xlabel'

我该如何纠正?

谢谢大家的帮助!!!

回答:

使用matplotlib面向对象的接口时,要使用的正确命令是ax.set_xlabelax.set_ylabel

plt.xlabel对于状态机接口,将其与等比较)。

同样,要设置标题,您需要 ax.set_title

您可以axes在api文档中(此处)查看实例的所有可用方法。

以上是 Matplotlib:如何为每个子图添加xlabel,标题 的全部内容, 来源链接: utcz.com/qa/413294.html

回到顶部