小编Sam*_*der的帖子

没有河流的世界地图有matplotlib/Basemap?

有没有办法用Basemap绘制大陆的边界(或者没有底图,如果有其他方式),没有那些令人讨厌的河流出现?尤其是那条甚至没有到达海洋的孔戈河,令人不安.

编辑:我打算在地图上进一步绘制数据,比如在地图库中(并且仍然将大陆的边界线绘制为数据上的黑线,以提供世界地图的结构),所以虽然下面的Hooked解决方案很好,甚至是熟练的,它不适用于此目的.

世界地图

图片制作者:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 4.5))
plt.subplots_adjust(left=0.02, right=0.98, top=0.98, bottom=0.00)
m = Basemap(projection='robin',lon_0=0,resolution='c')
m.fillcontinents(color='gray',lake_color='white')
m.drawcoastlines()
plt.savefig('world.png',dpi=75)
Run Code Online (Sandbox Code Playgroud)

python maps geography matplotlib matplotlib-basemap

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

为什么我会收到"UserWarning:模块dap已经从None导入..."

我从Ubuntu包安装python-matplotlibpython-mpltoolkits.basemap安装.安装python-mpltoolkits.basemappython-dap作为依赖项安装.

当我导入底图时,我收到此警告:

>>> import mpl_toolkits.basemap
/usr/lib/pymodules/python2.7/mpl_toolkits/__init__.py:2: UserWarning: Module dap was
already imported from None, but /usr/lib/python2.7/dist-packages is being added to sys.path
  __import__('pkg_resources').declare_namespace(__name__)
Run Code Online (Sandbox Code Playgroud)

这是否意味着我有两个相互矛盾的安装dap?(这可能是一些旧的手动安装的残余.)是一个有点类似的警告消息,但在他的情况下,消息告诉另一个,冲突的安装位于何处.我的信息只是说None.这是什么意思?

编辑1:

>>> import sys
>>> print sys.modules['dap']
<module 'dap' (built-in)>
Run Code Online (Sandbox Code Playgroud)

编辑2:

$ python -S
Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
>>> import sys
>>> print sys.modules['dap']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-2.7 matplotlib-basemap

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

从藏匿,奇怪的结果重新开始

我只是出于好奇而问这个问题.在现实生活中还有其他方法来处理这种情况,但我发现git的以下行为有点奇怪.

简介: Stashing在幕后创建了两个提交,一个包含索引,另一个包含非添加的编辑.如果我们检查后者并尝试重新定义它,我们只能从索引中获取更改.这是为什么?

详细示例如下:

首先让我们使用一次提交创建一个repo,然后再添加一个编辑添加到index,然后再添加一个未添加到index的编辑,然后使用stash:

git init
echo 1 > a.txt
git add a.txt
git commit -m"First commit"
echo 2 >> a.txt
git add a.txt
echo 3 >> a.txt
git stash
git log --all --graph --oneline

  *   5c00fc0 WIP on master: c8af537 First commit
  |\  
  | * 965c986 index on master: c8af537 First commit
  |/  
  * c8af537 First commit
Run Code Online (Sandbox Code Playgroud)

因此git stash似乎将索引和非添加的编辑保存为具有自己的哈希的提交(在我的情况下,对于索引为965c986,对于未添加的编辑为5c00fc0).

现在编辑一个新文件并提交:

echo x >> b.txt
git add b.txt
git commit -m"Second commit"
Run Code Online (Sandbox Code Playgroud)

所以所有的提交现在看起来像:

git log --all --graph …
Run Code Online (Sandbox Code Playgroud)

git

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

80列后Emacs中的不同背景颜色?

在Emacs中,如何在80列之后设置不同的背景颜色?

因此,如果窗口宽于80列,则80之后的所有列将具有不同的背景颜色.

emacs overlay highlight

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

Git 日志显示 HEAD 到底指向哪里?

有没有办法让 git log 以不同的方式显示以下情况:(a) HEAD 指向分支指针,分支指针指向提交,(b) HEAD 直接指向提交,分支指针也指向同一个提交?

例如,如果我这样做

git commit -m'My commit'
git log --oneline --graph --decorate
* 655c6f1 (HEAD, master) My commit
Run Code Online (Sandbox Code Playgroud)

所以现在的情况是:655c6f1 <- master <- HEAD。但如果我这样做

git checkout 655c6f1
git log --oneline --graph --decorate
* 655c6f1 (HEAD, master) My commit
Run Code Online (Sandbox Code Playgroud)

所以现在的情况是:655c6f1 <- master,655c6f1 <- HEAD。(我处于分离的 HEAD 状态。)

但在这两种情况下,git log输出是相同的。如何让 git log 区分这两种情况?

git git-log

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