我在python脚本中导入mayavi来显示一些3D数据集,事实证明以下天真轴标签不起作用
from mayavi import mlab
axes =mlab.axes(xlabel='$\alpha$', ylabel='$\beta$', zlabel='$\sigma$')
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我无法从谷歌或用户手册中找到解决方案.
在scipy.special.gammainc不能取负值的第一个参数.在python中是否还有其他实现?我可以肯定地进行手动集成,但我想知道是否存在已经存在的良好替代方案.
Correct result: 1 - Gamma[-1,1] = 0.85
Use Scipy: scipy.special.gammainc(-1, 1) = 0
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在使用vim来编辑一些python文件,最近它偶尔发生,我将缓冲区保存在vim中后语法突出显示消失了.我试图重启syntax on和set filetype=python,但无济于事.我根本不知道导致这个问题的原因,所以现在我的诊断信息很少.但是之前有没有人遇到过这种情况,或者哪里可能发生故障?
只是好奇,有点像编辑器的"无分心模式",如崇高文本,是否可以将所有文本质心到视野中间?使用宽屏显示器以全屏模式盯着vim终端的最左端总是很烦人.
基本操作是,假设我在开放缓冲区中有两行python代码
datacontour(set_color=set_color, figout="test",
figext="pdf")
Run Code Online (Sandbox Code Playgroud)
第二行缩进8个空格,因为它是第一行的延续,现在我想将两个行组合在一起,消除两者之间的空格
datacontour(set_color=set_color, figout="test", figext="pdf")
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?或者我应该在vimrc文件中定义什么样的快捷方式?谢谢.
我通常使用ax.set_rasterized(True)栅格化图形,以便在eps格式化时保存透明度,但光栅化也会使轴标签和刻度标签模糊,那么有没有办法仅栅格化轴内的补丁而不是整个数字?或者是否更好地导出具有透明度的eps格式?谢谢.
m 是一个有形状的ndarray(12,21,21),现在我想只拿一个稀疏的切片来形成一个新的2D数组,
sliceid = 0
indx = np.array([0, 2, 4, 6, 8, 10])
Run Code Online (Sandbox Code Playgroud)
所以这sparse_slice就是直观的
sparse_slice = m[sliceid, indx, indx]
Run Code Online (Sandbox Code Playgroud)
但显然上面的操作不起作用,目前我正在使用的是
sparse_slice = m[sliceid,indx,:][:, indx]
Run Code Online (Sandbox Code Playgroud)
为什么第一个"直观"的方式不起作用?并且有一种比我目前的解决方案更紧凑的方式吗?我之前所有的ndarray切片试验都是基于直觉,也许我现在转而阅读一些严肃的手册......
我有一个即将发布的python软件包,所以现在我开始使用vim将文档字符串缓慢添加到文件中。所以对于像
def foo(x, y, z=None, **kwargs):
Run Code Online (Sandbox Code Playgroud)
我必须一整天重复手动输入以下内容
""" foo does this stuff.
Parameters
----------
x:
y:
z: optional
kwargs:
Returns
-------
"""
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以通过定义一些vim宏来动态生成此模板文档字符串(我对此一无所知,因此有关如何启动的建议也很好)。谢谢。
我有一个类定义为
class Conditional_Singleton(object):
def __init__(self, condition=None):
self.initialization = some_func_of(condition)
Run Code Online (Sandbox Code Playgroud)
由于“初始化”步骤确实需要很多时间来运行并且输出可能很大,我真的希望在给定相同输入的情况下不会一遍又一遍地重新创建该类,而是在输入更改后重新创建。有任何想法吗?
我需要用f2py包装一个简单的fortran90代码.fortran模块"test.f90"是
module util
contains
FUNCTION gasdev(idum)
implicit none
INTEGER(kind=4), intent(inout) :: idum
REAL(kind=8) :: gasdev, ran2
print*,idum
gasdev = ran2(idum)
return
END FUNCTION
FUNCTION ran2(idum)
implicit none
INTEGER(kind=4), intent(inout) :: idum
REAL(kind=8) :: ran2
print*,idum
ran2=2.D0
return
END FUNCTION
end module util
Run Code Online (Sandbox Code Playgroud)
然后我用它包装
f2py -m test -c test.f90
Run Code Online (Sandbox Code Playgroud)
但是当我在python中导入它时
In [2]: import test
Run Code Online (Sandbox Code Playgroud)
它提示我说错误
ImportError: ./test.so: undefined symbol: ran2_
Run Code Online (Sandbox Code Playgroud)
关于如何修复它的任何想法?谢谢.
我在我的python代码中每行严格强制执行80个字符,但偶尔我必须将一行字符串分成两行,如下所示
print time.strftime("%m/%d/%Y %I:%M:%S \
%p",time.localtime(os.path.getmtime(fname)))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,输出将在"AM/PM"前面有额外的空格,如
foo.dat was last modified: 01/10/2012 02:53:15 AM
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法来解决这个问题,只是为了避免切断弦,或者在这种情况下允许长线,但是,我想知道是否还有其他更多的内在方法来解决这个问题,同时允许str-cutting和line-breaking发生.第二行由编辑器自动缩进,我也不想改变它.谢谢.
python ×8
vim ×4
vi ×3
coding-style ×1
css ×1
css-float ×1
docstring ×1
editor ×1
eps ×1
f2py ×1
fortran ×1
html ×1
javascript ×1
jquery ×1
matplotlib ×1
mayavi ×1
numpy ×1
scipy ×1
transparency ×1