有没有办法用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) 我从Ubuntu包安装python-matplotlib并python-mpltoolkits.basemap安装.安装python-mpltoolkits.basemap也python-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) 我只是出于好奇而问这个问题.在现实生活中还有其他方法来处理这种情况,但我发现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) 在Emacs中,如何在80列之后设置不同的背景颜色?
因此,如果窗口宽于80列,则80之后的所有列将具有不同的背景颜色.
有没有办法让 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 ×2
matplotlib ×2
python ×2
emacs ×1
geography ×1
git-log ×1
highlight ×1
maps ×1
overlay ×1
python-2.7 ×1