首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“numpy.ndarray”对象没有属性“绘图”--不能绘制子图

“numpy.ndarray”对象没有属性“绘图”--不能绘制子图
EN

Stack Overflow用户
提问于 2022-04-29 22:29:15
回答 1查看 269关注 0票数 0

问题:

执行下列行动:

创建一个具有3行和4列的子图图,图形大小为15×15,在相应的子图中绘制行=,=2,=3,=4,. =10,=11,=12。因此,=在第0行,第0列,=2在第0行,第1列,等等。使用我们已经为您创建的变量x,然后计算您自己的变量。调用此y_new (在for循环中)。

这是我的密码。我不知道为什么它总是显示'numpy.ndarray‘对象没有属性’绘图‘。

代码语言:javascript
复制
x = np.arange(0,100)

fig, axes = plt.subplots(nrows=3, ncols=4, figsize=(15,15))
fig.suptitle('Graphs of Various Functions')
fig.tight_layout()


for n in range(12):
    y = x*(n+1)
    if n < 4:
        row = [0]
        col = [n]
        ax = axes[row][col]
        ax.plot(x,y)
        ax.set_title('{}*x'.format(y))
    elif n <8:
        row = [1]
        col = [n-4]
        ax = axes[row][col]
        ax.plot(x,y)
        axes.set_title('{}*x'.format(y));
    elif n < 13:
        row = [2]
        col = [n-8]
        ax = axes[row][col]
        ax.plot(x,y)
        axes.set_title('{}*x'.format(y));
EN

回答 1

Stack Overflow用户

发布于 2022-04-29 23:13:09

我弄清楚了我搞砸了什么地方--通过将行和行的变量放在括号中,我创建了一个二维数组,而不是仅仅为变量名分配一个整数值。

使用我编写的循环,当我试图绘制它时,行应该是:

行:

代码语言:javascript
复制
array([],
      [0])

正确的代码是:

代码语言:javascript
复制
x = np.arange(0,100)

fig, axes = plt.subplots(nrows=3, ncols=4, figsize=(15,15))
fig.suptitle('Graphs of Various Functions')
fig.tight_layout()


for n in range(12):
    if n < 4:
        row = 0
        col = n
    elif n < 8:
        row = 1
        col = n-4
    elif n < 13:
        row = 2
        col = n-8
    
    y_new = x*(n+1)
    ax = axes[row][col]
    ax.plot(x,y_new)
    ax.set_title('{}*x'.format(n+1))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72064246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档