当前位置: 首页 > 知识库问答 >
问题:

tight_layout抛出错误:值错误:max()arg是一个空序列

贺兴昌
2023-03-14

我正在尝试使用plt。python中的ion()允许更新图形:

import numpy as np
import numpy.matlib
import matplotlib.pyplot as plt

plt.ion()

plt.close('all')

tmax =30
W = np.random.rand(6,100)        

fig, ax = plt.subplots(2,3)     
plt.show()

for t in range (1, tmax):
    W = t * W        
    for ii in range(2):
        for jj in range(3):      
            output = W[3*ii+jj,:].reshape((10,10),order = 'F')
            ax[ii,jj].clear()
            ax[ii,jj].imshow(output, interpolation='nearest')                
    plt.tight_layout()
    plt.draw()
    plt.pause(0.1)


plt.waitforbuttonpress()

运行此命令将在控制台中显示空白数字并抛出错误:

Traceback(最近的调用最后):

文件“”,第1行,在运行文件('/Users/alesi/Documents/Spyder/3240ass/comp.py',wdir='/Users/alesi/Documents/Spyder/3240ass'中)

文件"/用户/Alessi/anaconda/lib/python3.5/site-包/spyder/utils/site/sitecustomize.py",第866行,运行文件执行文件(文件名,命名空间)

文件"/用户/Alessi/anaconda/lib/python3.5/site-包/spyder/utils/site/sitecustomize.py",第102行,在执行文件exec(编译(f.read(),文件名,'exec'),命名空间)

文件“/Users/alesi/Documents/Spyder/3240ass/comp.py”,plt中的第27行。紧凑的布局()

文件"/用户/Alessi/anaconda/lib/python3.5/site-包/matplotlib/pyplot.py",行1387,tight_layoutfig.tight_layout(pad=pad,h_pad=h_pad,w_pad=w_pad,rect=rect)

文件“/Users/alesi/anaconda/lib/python3.5/site packages/matplotlib/figure.py”,第1752行,紧密布局rect=rect)

文件“/Users/Alessi/anaconda/lib/python3.5/site packages/matplotlib/tight\u layout.py”,第322行,在get\u tight\u layout\u图max\u nrows=max(nrows\u列表)中

ValueError:max()arg是一个空序列

ps.using蟒蛇蜘蛛

共有1个答案

夏侯玄天
2023-03-14

您不能在控制台中使用交互式更多(ion)。不幸的是,问题不是很清楚你想要什么;但是,假设您希望显示一个带有动画绘图的窗口。一个简单的方法是在IPython控制台之外运行脚本。在spyder中,您可以转到Run/Configure(或按F6)并选择“在新的专用Python控制台中执行”。

现在脚本本身的问题是首先调用plt。show(),它显示空的子批次。这必须被移除。

显示动画的版本将是

import numpy as np
import matplotlib.pyplot as plt

plt.close('all')
plt.ion()

tmax =30

fig, ax = plt.subplots(2,3)     

for t in range (1, tmax):
    W = np.random.rand(6,100)      
    for ii in range(2):
        for jj in range(3):      
            output = W[3*ii+jj,:].reshape((10,10),order = 'F')
            ax[ii,jj].clear()
            ax[ii,jj].imshow(output, interpolation='nearest')
    if t == 1:                
        plt.tight_layout()
    plt.draw()
    plt.pause(0.1)


plt.waitforbuttonpress()
 类似资料:
  • 我已经从http://hayageek.com/login-with-google-plus-javascript-api/ 我已经使用我的client_id,api密钥实现了代码,并且还遵循了Google oauth2中invalid_client的说明,但仍然收到相同的错误。 也在OAuth同意屏幕中并提及产品名称和电子邮件地址 错误:无效_client 应用程序:Project_Name 您

  • 我有问题索引我的每个对象。我有一个从存储库中提取的列表,称为MonthlyAcct。我希望遍历thymeleaf html文件中的列表,并显示MonthlyAcct对象的每个属性,该对象显示为表中的可编辑输入字段。我不断收到不支持“month acct”类型索引的错误,或者当前的错误是:“bean名称”month acct[0]“的BindingResult或plain target object

  • 我怎样才能解决这个问题?

  • 我尝试发送一个删除请求到我的服务器,但我得到一个400坏的请求错误代码。我找了很多,但我找不到任何有帮助解决方案。当我尝试与邮差,请求工作良好。 这是来自Postman的curl命令的外观: 这是我的Java代码: 我还尝试在头中不设置Content-Type,但当我得到一个415错误时,我还删除了getBodyContentType()方法,但这也没有改变。 还有什么能帮上忙的点子吗?

  • 问题内容: 我只是使用a 从这样的用户那里获取最新的tweet: 这在我的本地主机上运行良好,但是当我将其上传到服务器时会引发以下错误: 警告: file_get_contents(http://api.twitter.com/1/statuses/user_timeline/User.json)[function.file- get-contents]:无法打开流:HTTP请求失败!HTTP /

  • 我有一个简单的安装大口liveload: gulp assert.js:42抛出新错误^ AssertionError[ERR_ASSERTION]:必须在Gulp.set指定任务函数[作为_setTask](c:\testjs6\node_modules\undertaker\lib\set-task.js:10: 3)在Gulp.task(c:\testjs6\node_modules\und