osmnx 补充笔记:get_edge_colors_by_attr &get_node_colors_by_attr

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了osmnx 补充笔记:get_edge_colors_by_attr &get_node_colors_by_attr相关的知识,希望对你有一定的参考价值。

0 数据部分

osmnx 笔记: plot_graph_route & plot_graph_routes_UQI-LIUWJ的博客-CSDN博客 中1.1,1.2一致

edges_sh['length']=-edges_sh['length']
#取负号是为了让之后的可视化更好看些,没有实际意义

nx.set_edge_attributes(G_, edges_sh['length'], 'length')
#将 edges_sh['length']设置为 边的属性 length

 1  get_edge_colors_by_attr

1.1 基本使用方法

根据指定的边属性,或者各条边的颜色

osmnx.plot.get_edge_colors_by_attr(
    G, 
    attr, 
    num_bins=None, 
    cmap='viridis', 
    start=0, 
    stop=1, 
    na_color='none', 
    equal_size=False)

1.2 参数说明

G (networkx.MultiDiGraph输入图
attr (string边属性的名称(也就是我们用nx.set_edge_attributes 设置的属性名称)
num_bins (int

如果为None,则线性映射一个颜色到每个值。

否则,给这几个箱子赋值,然后给每个箱子分配颜色。

cmap (string)
start (float颜色空间的起始位置
stop (float颜色空间的结束位置
na_color (string给缺省值的颜色

 1.3 举例

ox.plot.plot_graph(G_,
                   edge_color=ox.plot.get_edge_colors_by_attr(
                       G_,
                       'length',
                       num_bins=3,
                       cmap='RdYlGn'),
                   figsize=(100,20))

 1.3.1 缺省值

maxspeed这一列,有很多的缺省值

edges_sh['maxspeed']=pd.to_numeric(edges_sh['maxspeed'])
#类型转换,从string转换至 float

nx.set_edge_attributes(G_, edges_sh['maxspeed'], 'max_speed')
#同样,设置边属性名称

ox.plot.plot_graph(G_,
                   edge_color=ox.plot.get_edge_colors_by_attr(
                       G_,
                       'max_speed',
                       num_bins=3,
                       cmap='RdYlGn',
                       na_color='black'),
                   figsize=(100,20))
#N属性为aN的边会被画成黑色

 2  get_node_colors_by_attr

osmnx.plot.get_node_colors_by_attr(
    G, 
    attr,
    num_bins=None, 
    cmap='viridis', 
    start=0, 
    stop=1, 
    na_color='none', 
    equal_size=False)

和get_edge_colors_by_attr 几乎一模一样

nx.set_node_attributes(G_,nodes_sh['street_count'],'street')
ox.plot.plot_graph(G_,
                   node_color=ox.plot.get_node_colors_by_attr(
                       G_,
                       'street',
                       num_bins=3,
                       cmap='RdYlGn',
                       na_color='black'),
                   node_size=100,
                   figsize=(100,20))

 

以上是关于osmnx 补充笔记:get_edge_colors_by_attr &get_node_colors_by_attr的主要内容,如果未能解决你的问题,请参考以下文章

Osmnx 错误:模块“osmnx.elevation”没有属性“add_node_elevations_raster”

OSMnx:节点之间的角度

将本地 XML 或 Shapefile 加载到 OSMNX 以创建图形

OSMNX 操作与其他数据

查找 2 个节点之间的街道名称。 OSMnx

转换 osmnx 投影地图的经纬度坐标