小编Ser*_*nov的帖子

在子图中关闭轴

我有以下代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.cm as cm

img = mpimg.imread("lena.jpg")

f, axarr = plt.subplots(2, 2)
axarr[0,0].imshow(img, cmap = cm.Greys_r)
axarr[0,0].set_title("Rank = 512")

rank = 128
new_img = prune_matrix(rank, img)
axarr[0,1].imshow(new_img, cmap = cm.Greys_r)
axarr[0,1].set_title("Rank = %s" %rank)

rank = 32
new_img = prune_matrix(rank, img)
axarr[1,0].imshow(new_img, cmap = cm.Greys_r)
axarr[1,0].set_title("Rank = %s" %rank)

rank = 16
new_img = prune_matrix(rank, img)
axarr[1,1].imshow(new_img, cmap = cm.Greys_r)
axarr[1,1].set_title("Rank = %s" %rank)

plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,由于轴上的值,结果非常难看:

在此输入图像描述

如何同时关闭所有子图的轴值?

python image matplotlib

42
推荐指数
2
解决办法
6万
查看次数

yield如何捕获StopIteration异常?

为什么在示例函数中终止:

def func(iterable):
    while True:
        val = next(iterable)
        yield val
Run Code Online (Sandbox Code Playgroud)

但如果我脱掉yield语句函数会引发StopIteration异常吗?

编辑:很抱歉误导你们.我知道什么是发电机以及如何使用它们.当然,当我说功能终止时,我并不意味着急切的功能评估.我只是暗示当我使用函数生成生成器时:

gen = func(iterable)
Run Code Online (Sandbox Code Playgroud)

func的情况下它工作并返回相同的生成器,但在func2的情况下:

def func2(iterable):
    while True:
        val = next(iterable)
Run Code Online (Sandbox Code Playgroud)

它引发StopIteration而不是None返回或无限循环.

让我更具体一点.itertools中有一个函数tee,相当于:

def tee(iterable, n=2):
    it = iter(iterable)
    deques = [collections.deque() for i in range(n)]
    def gen(mydeque):
        while True:
            if not mydeque:             # when the local deque is empty
                newval = next(it)       # fetch a new value and
                for d in deques:        # load it to all the …
Run Code Online (Sandbox Code Playgroud)

python yield stopiteration

26
推荐指数
3
解决办法
4万
查看次数

在Python中读取输入的最快方法

我想读一个包含整数列表列表的大文本文件.现在我正在做以下事情:

G = []
with open("test.txt", 'r') as f:
    for line in f:
        G.append(list(map(int,line.split())))
Run Code Online (Sandbox Code Playgroud)

但是,它需要大约17秒(通过时间).有没有办法减少这个时间?也许,有一种方法不使用地图.

python input readfile python-3.x

12
推荐指数
3
解决办法
1万
查看次数

在bash中快速搜索命令选项

我发现自己处于一种情况,我不断在bash中查找命令的参数.例如,find -type f -name '*py' -print0.为了找到所有这些我需要通过man,info或--help选项,这是费力和耗时的.有没有办法让这个搜索瞬间完成.理想情况下,我希望看到类似的内容:find -type --help在查找的类型选项上说明帮助.

bash manpage

10
推荐指数
1
解决办法
5593
查看次数

未能安装python-igraph

我正在尝试安装python-igraph.我跑完后sudo pip install python-igraph得到以下日志:

Downloading/unpacking python-igraph
  Downloading python-igraph-0.7.1-1.tar.gz (375kB): 375kB downloaded
  Running setup.py egg_info for package python-igraph

Installing collected packages: python-igraph
  Running setup.py install for python-igraph
    Cannot find the C core of igraph on this system using pkg-config.
    We will now try to download and compile the C core from scratch.
    Version number of the C core: 0.7.1-1

    Version 0.7.1-1 of the C core of igraph is not found among the nightly builds.
    Use the --c-core-version switch to …
Run Code Online (Sandbox Code Playgroud)

linux igraph python-2.7

9
推荐指数
2
解决办法
1万
查看次数

Python和Matlab之间的通信

我有一些在Matlab中工作的计算机视觉系统.当它检测到我要告诉Python它发现它的东西时.只是是或否没有任何其他信息,但系统工作在无限循环中,所以我希望Python不断地以某种方式跟踪Matlab.

我想知道最简单的方法是什么.

例如,Matlab可以在桌面上创建一个Python将会看到并根据功能触发的文件.

python matlab ipc

6
推荐指数
2
解决办法
3391
查看次数

在matlab中获取命令行参数

这可能太容易了,但我不能谷歌答案:如何在matlab脚本中获取命令行参数.

我运行matlab matlab -nodisplay -r "run('script.m')",我希望将所有参数作为列表返回.类似于python的东西sys.argv.我怎样才能做到这一点?

我正在使用Linux Mint和MATLAB 2015a.

matlab command-line

6
推荐指数
1
解决办法
2173
查看次数

Pycharm ctrl+单击后返回

我正在使用 PyCharm,并且相当使用ctrl+click 来查找函数的声明。之后我想返回到我的代码,我必须向下滚动(通常很多)。在查找函数声明后,是否有一个有用的快捷方式可以返回到函数用法?

我发现最接近的是ctrl+ alt+backspace去最后的编辑位置。然而,我检查的函数通常不是最后编辑的代码片段。

navigation keyboard-shortcuts pycharm

5
推荐指数
1
解决办法
2561
查看次数

删除扩展的权限

我有一个扩展,首先要求访问Google云端硬盘文件的权限.扩展几乎是空的,除了弹出窗口我加载这个js:

chrome.identity.getAuthToken({ 'interactive': true }, function(token) {
  // Use the token.
  console.log('Request Token')
  console.log(token)
  chrome.identity.removeCachedAuthToken(
              { 'token': token }, function () {})
  console.log('Removed token')
});
Run Code Online (Sandbox Code Playgroud)

在我的清单中,我有有效的密钥,oauth2客户端ID,以及 "scopes":["https://www.googleapis.com/auth/drive"]chrome扩展的其他标准密钥.

它正常工作,它首先被要求许可,然后记录我的访问令牌.但是,当我重新安装扩展(删除/修改/添加)时,它没有请求我的许可,只是写了相同的访问令牌.我想再次请求许可.我怎样才能做到这一点?

javascript google-chrome-extension access-token google-drive-api

5
推荐指数
2
解决办法
760
查看次数

从 R 正确地将日期写入 Excel

当我将数据框写入文件时,它会将所有列视为字符,包括日期列。

options(xlsx.date.format = "yyyy-mm-dd")
write.xlsx(data, excel_filename, sheetName = "Data")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何将数据写入 xlsx 文件,以便在我使用此列时默认将其视为日期?

解决方案:将列的类变为字符。转换后as.Date一切正常保存。

r

5
推荐指数
1
解决办法
7460
查看次数