我想让python制作一个绘图,在不阻塞控制流的情况下显示它,并在代码退出后保持打开.这可能吗?
这个以及相关的主题在许多其他主题中都存在(见下文),但是我无法让这个情节保持开放,并且是非阻塞的.例如,如果我pyplot.ion()之前使用过pyplot.show(),或者如果我使用,pyplot.show(block=False)那么当代码终止时,该图将关闭.这是真的使用python或ipython.如果重要的话,我正在运行OS X 10.8.2(Mountain Lion),运行python27和ipython27
相关讨论:
pylab matplotlib"show"等到窗口关闭
有没有办法分离matplotlib图,以便计算可以继续?
在Matplotlib Closing pyplot窗口中保持绘图窗口打开
我正在查看一个非常大的流体动力学代码,c其中通常有一些非常差的变量选择.包括一个名为'g'的全局变量.类似地,有一个文件带有一个名为'geom'的变量和许多其他包含子串'geom'的变量(例如geometry,geomAL,geom_arb等).
有没有办法搜索与正则表达式完全匹配的变量,而不是部分?
例如:搜索'geom' 与'geomAL' 不匹配.显然,emacs并不是先验知道变量的开始或结束位置,但是这可以构造为c模式的函数吗?
对于以下命令
%time python test.py
Run Code Online (Sandbox Code Playgroud)
在这个脚本上,test.py
import numpy as np
from math import *
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import LogNorm
from scipy import stats
Run Code Online (Sandbox Code Playgroud)
我得到输出:
real 0m1.933s
user 0m1.322s
sys 0m0.282s
Run Code Online (Sandbox Code Playgroud)
有什么不对?或者进口需要多长时间?
该hold参数出现在许多绘图函数,例如plt.fill_between,plt.arrow,plt.axhline(对import matplotlib.pyplot as plt).但是,我找不到任何文档. Docs似乎只说:
附加kwargs:hold = [True | False]覆盖默认保持状态
对谷歌而言,这也是一个困难的关键词论点......
我在某人的代码中看到了这种模式:
import numpy as np
# Create array
xx = np.linspace(0.0, 100.0, num=100)
# Add Noise
xx = np.random.normal(xx)
Run Code Online (Sandbox Code Playgroud)
它似乎为数组的每个值添加了一些噪音,但我找不到任何相关的文档.发生了什么?是什么决定了噪音的属性(即缩放)?给定值是否被视为分布loc中每个采样的平均值(即参数)normal?
我也很想知道为什么文档中似乎没有涵盖这种行为.
是否可以运行生成一个图形(或多个图形)的Python代码并保持这些图形打开,即使在程序结束后也是如此?
目前,当我show()在代码末尾使用时,程序执行$ python somecode.py将停止,直到我关闭该图(或多个图)。从而导致终端无法使用。
我是否需要知道如何为每个人物分配不同的作业 ID,以便这些人物与主程序分开运行?如果是这样我怎样才能做到这一点?
当人们想要使用不同的输入执行有限次数的程序并且不希望将每个结果图形存储为(单独的)文件时,这种需求就变得显而易见。这对于进行快速比较非常方便。
一个明显的解决方案是在单独的终端会话中运行该程序。
在我的custom.css文件中,我有,
.bold {
font-weight: bold;
}
.red {
color:red;
}
Run Code Online (Sandbox Code Playgroud)
在我的_.rst文件中,
.. role:: bold
.. role:: red
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试嵌套/复合它们,只有最外面的角色生效,例如
:bold:`:red:`This is only bold``
这只是大胆的
有没有办法在不定义新的(组合)角色的情况下结合这些效果?
我正在编写一个模块来加载数据集。我想保持接口/ API尽可能整洁-因此,通过使用前缀它们来隐藏内部函数和变量__。太棒了 但是,我的模块导入了numpy仍出现在模块名称空间中的其他包(例如),如何避免这种情况?
即我的文件看起来像:
Loader.py:
import numpy as np
__INTERNAL_VAR1 = True
EXTERNAL_VAR = True
def loadData():
data = __INTERNAL_FUNC1()
...
return data
def __INTERNAL_FUNC1():
...
return data
Run Code Online (Sandbox Code Playgroud)
当我导入我的模块时np:
> import Loader
> Loader.[TAB]
Loader.EXTERNAL_VAR Loader.loadData Loader.np
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种有效的方法来检查数组是否是锯齿状的,其中“锯齿状”意味着数组中的一个元素与它在同一维度上的相邻元素具有不同的形状。
例如[[1, 2], [3, 4, 5]]或[[1, 2], [3, 4], [5, 6], [[7], [8]]]
为方便起见,我使用列表语法,但参数可能是嵌套列表或嵌套的 numpy 数组。为了方便起见,我还显示了整数,最低级别的组件可以是任何东西(例如通用对象)。假设最低级别的对象本身不可迭代(例如str或dict,但对于可以处理这些问题的解决方案来说绝对是加分项!)。
尝试:
递归地平坦化的阵列是相当容易的,虽然我猜相当在高效,然后将扁平阵列的长度可以相对于numpy.size输入数组的。如果它们匹配,则它不是锯齿状的。
def really1d(arr):
# Returns false if the given array is not 1D or is a jagged 1D array.
if np.ndim(arr) != 1:
return False
if len(arr) == 0:
return True
if np.any(np.vectorize(np.ndim)(arr)):
return False
return True
def flatten(arr):
# Convert the given array to 1D (even if …Run Code Online (Sandbox Code Playgroud)