我经常在R中制作数字(探索性数据分析类型).我也用Python编程,并且想知道matplotlib中是否有值得学习的功能或概念.例如,我对R非常满意 - 但是它的image()函数会生成带有像素化输出的大文件,而Matlab的等效数字(我也经常在Matlab中编程)似乎可以在文件大小上进行管理并且"平滑" - matplotlib还提供这样的减少......?但更一般地说,我想知道matplotlib可能带来的其他优势.我并不是说这是一个拖钓问题.谢谢.
在OS X 10.5 Emacs 23.2上,在dired-mode中,如果我尝试dired-sort-toggle-or-edit
使用前缀参数进行排序,--sort=extension
或者-X
得到:
insert-directory: Listing directory failed but `access-file' worked
Run Code Online (Sandbox Code Playgroud)
并且dired缓冲区变空.我尝试过设置
(setq dired-use-ls-dired nil)
Run Code Online (Sandbox Code Playgroud)
但这没有效果.dired-sort-toggle-or-edit
并通过扩展排序似乎在我的Ubuntu框上工作正常.有人知道发生了什么事吗?
定义数据
x = np.linspace(0,2*np.pi,100)
y = 2*np.sin(x)
Run Code Online (Sandbox Code Playgroud)
情节
fig = plt.figure()
ax = plt.axes()
fig.add_subplot(ax)
ax.plot(x,y)
Run Code Online (Sandbox Code Playgroud)
添加第二个轴
newax = plt.axes(axisbg='none')
Run Code Online (Sandbox Code Playgroud)
给我ValueError: Unknown element o
,尽管它与我将描述的内容完全相同.我也可以看到这样做(没有错误)做同样的事情:
newax = plt.axes()
fig.add_subplot(newax)
newax.set_axis_bgcolor('none')
Run Code Online (Sandbox Code Playgroud)
但是,它将原始图形的背景颜色变为"灰色"(或者图形背景是什么)?我不明白,因为我认为这会使newax透明,除了图周围的轴和框.即使我切换订单,同样的事情:
plt.close('all')
fig = plt.figure()
newax = plt.axes()
fig.add_subplot(newax)
newax.set_axis_bgcolor('none')
ax = plt.axes()
fig.add_subplot(ax)
ax.plot(x,y)
Run Code Online (Sandbox Code Playgroud)
这是令人惊讶的,因为我认为一个的背景将叠加在另一个上,但在任何一种情况下,它都是看起来可见的newax背景(或者至少这是我看到的颜色).
这里发生了什么?
Python与SQLite(sqlite3,atpy)和HDF5(h5py,pyTables)的接口似乎有很多选择 - 我想知道是否有人有使用numpy数组或数据表(结构化/记录数组)的经验,以及其中最为无缝地与每种数据格式的"科学"模块(numpy,scipy)集成(SQLite和HDF5).
我有兴趣标准化我们几个人使用的emacs配置(~5个人).
有没有办法从lisp函数安装ELPA包,如果我们知道我们想要的包集合,可以包含在脚本中?我能找到的就是如何以list-packages
图形方式调用和安装各个包.
我在ido模式下使用emacs.当选择所需的缓冲区时,我将被带到一个单独的框架和窗口,而缓冲区已经打开,而不是当前窗口中显示的缓冲区.有没有办法修改(关闭)这种行为?这似乎是我期望的(pop-to-buffer)但是在ido.el中没有我能找到的这样的引用.我认为这是一个偶像模式"功能",因为当我使用-q选项启动emacs时不会发生这种情况.非常感谢...
在Python中,你可能会做类似的事情
fout = open('out','w')
fin = open('in')
for line in fin:
fout.write(process(line)+"\n")
fin.close()
fout.close()
Run Code Online (Sandbox Code Playgroud)
(我认为它在许多其他语言中也会类似).在Emacs Lisp中,你会做类似的事吗?
(find-file 'out')
(setq fout (current-buffer)
(find-file 'in')
(setq fin (current-buffer)
(while moreLines
(setq begin (point))
(move-end-of-line 1)
(setq line (buffer-substring-no-properties begin (point))
;; maybe
(print (process line) fout)
;; or
(save-excursion
(set-buffer fout)
(insert (process line)))
(setq moreLines (= 0 (forward-line 1))))
(kill-buffer fin)
(kill-buffer fout)
Run Code Online (Sandbox Code Playgroud)
我从Emacs Lisp获得灵感(和代码):逐行处理文件.或者我应该尝试完全不同的东西?以及如何""
从print语句中删除?
我找不到阻止删除整个区域的设置,当你突出显示并点击退格时...(我只是希望它删除一个字符,即使区域被突出显示.)我已经有了
(delete-selection-mode 0)
Run Code Online (Sandbox Code Playgroud)
在自定义变量中(我为其矩形函数启用了cua-mode),
'(cua-delete-selection nil)
Run Code Online (Sandbox Code Playgroud)
但这就是我得到的行为.我错过了什么吗?
有没有办法使用语法迭代文本文件,
with open(filename,'r') as f:
for line in f:
print f
Run Code Online (Sandbox Code Playgroud)
如果文件只包含回车符而没有换行符?
到目前为止,我所能做的就是
with open(filename,'r') as f:
for line in f.read().split('\r'):
print f
Run Code Online (Sandbox Code Playgroud)
但文件有时很大.我不想使用dos2unix修改文件,因为另一个软件程序需要原始格式.
如果我试图在我调用rsync
(或scp
)多次的Emacs Lisp函数中运行shell命令,我应该使用哪个shell-command变量?我目前正在使用shell-command
,它会锁定Emacs,直到完成该过程,并且不会打印带有--verbose
to的应该可见的输出rsync
; 我可以用shell-command
用&
在命令字符串的结尾,使其同步,这并打印进度-但同时它并没有完全"锁定"的Emacs,迷你缓冲区反复问我是否要终止的进程是沉重同时; 并且start-process-shell-command
,只有在传输第一个文件/目录后才会暂停该功能; 当rsync
通过我的功能进行多次通话时忽略其余部分.这些都不是理想的,任何提示?