我想说明墨尔本到地图上的其他澳大利亚城市的航班密度。理想的情况下,我们会有箭头(将城市与其他城市连接在一起)显示每天从一个城市到另一个城市的航班数量。我们有这个工作的图书馆吗?用Python连接地图上的位置与数据说明
非常感谢您的投入。
亲切的问候, HH
我想说明墨尔本到地图上的其他澳大利亚城市的航班密度。理想的情况下,我们会有箭头(将城市与其他城市连接在一起)显示每天从一个城市到另一个城市的航班数量。我们有这个工作的图书馆吗?用Python连接地图上的位置与数据说明
非常感谢您的投入。
亲切的问候, HH
如果你有数据节点和边的形式(基本上是图DB),那么你可以使用以下链接:
Drawing a graph with NetworkX on a Basemap
可以实现自己的目标1)示出的箭头/通过使用有向图和2)厚度通过使用权重的向内/向外指向的航班
感谢您输入的计数方向。我决定使用简单的箭头功能以及下面的一些饼图。为了产生这种地图,我采用: - 底图 - plt.arrow - plt.text - plt.plot - 由托马斯·勒科克开发定制的饼图帮手(http://www.geophysique.be/2010/11/26/matplotlib-basemap-tutorial-06-real-case-pie-charts/)
棘手的部分是为整齐布局指定箭头的起点和终点。愿意根据要求提供更多细节。再次
def draw_pie(ax,ratios, X, Y, size):
N = len(ratios)
xy = []
start = 0.
colors=['#08298A','none']
for ratio in ratios:
x = [0] + np.cos(np.linspace(2*math.pi*start,2*math.pi*(start+ratio), 30)).tolist()
y = [0] + np.sin(np.linspace(2*math.pi*start,2*math.pi*(start+ratio), 30)).tolist()
xy1 = zip(x,y)
xy.append(xy1)
start += ratio
plt.rcParams['patch.linewidth'] = .7
plt.rcParams['patch.edgecolor']='#D0C4C1'
for i, xyi in enumerate(xy):
ax.scatter([X],[Y] , marker=(xyi,0), s=size, facecolor=colors[i],zorder=5,alpha=.6, lw=.7)
感谢:下面我举饼图帮手。干杯。
HH
非现场资源请求在SO上是无关紧要的。但看看[Graphviz](http://www.graphviz.org)。有几个Python模块,例如[graphviz](http://graphviz.readthedocs.io/en/latest/manual.html),但是对于简单的事情来说,很容易直接生成DOT文件,而无需使用3rd-派对模块。 –