如何用Python制作3D动态航线图

匿名 (未验证) 提交于 2019-12-02 22:51:30

用于带有起点和终点信息的线数据的绘制,主要用于地图上的航线,路线的可视化。

GeoLines.add() 方法签名

 1 add(name, data,  2     maptype='china',  3     symbol=None,  4     symbol_size=12,  5     border_color="#111",  6     geo_normal_color="#323c48",  7     geo_emphasis_color="#2a333d",  8     geo_cities_coords=None,  9     geo_effect_period=6, 10     geo_effect_traillength=0, 11     geo_effect_color='#fff', 12     geo_effect_symbol='circle', 13     geo_effect_symbolsize=5, 14     is_geo_effect_show=True, 15     is_roam=True, **kwargs)
  • name -> str
    图例名称
  • data -> [list], 包含列表的列表
    数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』。每一行包含两个或三个数据,如 ["广州", "北京"] 或 ["广州", "北京",100],则指定从广州到北京。第三个值用于表示该 line 的数值,该值可省略。
  • maptype -> str
    地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县,全球国家等地图
  • symbol -> str
    线两端的标记类型,可以是一个数组分别指定两端,也可以是单个统一指定。
  • symbol_size -> int
    线两端的标记大小,可以是一个数组分别指定两端,也可以是单个统一指定。
  • border_color -> str
    地图边界颜色。默认为 '#111'
  • geo_normal_color -> str
    正常状态下地图区域的颜色。默认为 '#323c48'
  • geo_emphasis_color -> str
    高亮状态下地图区域的颜色。默认为 '#2a333d'
  • geo_cities_coords -> dict
    用户自定义地区经纬度,类似如 {'阿城': [126.58, 45.32],} 这样的字典,当用于提供了该参数时,将会覆盖原有预存的区域坐标信息。
  • geo_effect_period -> int/float
    特效动画的时间,单位为 s,默认为 6s
  • geo_effect_traillength -> float
    特效尾迹的长度。取从 0 到 1 的值,数值越大尾迹越长。默认为 0
  • geo_effect_color -> str
    特效标记的颜色。默认为 '#fff'
  • geo_effect_symbol -> str
    特效图形的标记。有 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'plane' 可选。
  • geo_effect_symbolsize -> int/list
    特效标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示高和宽,例如 [20, 10] 表示标记宽为 20,高为 10。
  • is_geo_effect_show -> bool
    是否显示特效。
  • is_roam -> bool
    是否开启鼠标缩放和平移漫游。默认为 True
    如果只想要开启缩放或者平移,可以设置成'scale'或者'move'。设置成 True 为都开启

默认效果

 1 from pyecharts import GeoLines, Style  2   3 style = Style(  4     title_top="#fff",  5     title_pos = "center",  6     width=1200,  7     height=600,  8     background_color="#404a59"  9 ) 10  11 data_guangzhou = [ 12     ["广州", "上海"], 13     ["广州", "北京"], 14     ["广州", "南京"], 15     ["广州", "重庆"], 16     ["广州", "兰州"], 17     ["广州", "杭州"] 18 ] 19 geolines = GeoLines("GeoLines 示例", **style.init_style) 20 geolines.add("从广州出发", data_guangzhou, is_legend_show=False) 21 geolines.render()

稍加配置

 1 from pyecharts import GeoLines, Style  2   3 style_geo = style.add(  4     is_label_show=True,  5     line_curve=0.2,  6     line_opacity=0.6,  7     legend_text_color="#eee",  8     legend_pos="right",  9     geo_effect_symbol="plane", 10     geo_effect_symbolsize=15, 11     label_color=['#a6c84c', '#ffa022', '#46bee9'], 12     label_pos="right", 13     label_formatter="{b}", 14     label_text_color="#eee", 15 ) 16 geolines = GeoLines("GeoLines 示例", **style.init_style) 17 geolines.add("从广州出发", data_guangzhou, **style_geo) 18 geolines.render()

指定数值

 1 from pyecharts import GeoLines, Style  2   3 data_guangzhou = [  4     ["广州", "上海", 10],  5     ["广州", "北京", 20],  6     ["广州", "南京", 30],  7     ["广州", "重庆", 40],  8     ["广州", "兰州", 50],  9     ["广州", "杭州", 60], 10 ] 11 lines = GeoLines("GeoLines 示例", **style.init_style) 12 lines.add( 13     "从广州出发", data_guangzhou, tooltip_formatter="{a} : {c}", **style_geo 14 ) 15 lines.render()

多例模式

 1 from pyecharts import GeoLines, Style  2   3 data_beijing = [  4     ["北京", "上海"],  5     ["北京", "广州"],  6     ["北京", "南京"],  7     ["北京", "重庆"],  8     ["北京", "兰州"],  9     ["北京", "杭州"] 10 ] 11 geolines = GeoLines("GeoLines 示例", **style.init_style) 12 geolines.add("从广州出发", data_guangzhou, **style_geo) 13 geolines.add("从北京出发", data_beijing, **style_geo) 14 geolines.render()

legend_selectedmode="single"

 1 from pyecharts import GeoLines, Style  2   3 style_geo = style.add(  4     is_label_show=True,  5     line_curve=0.2,  6     line_opacity=0.6,  7     legend_text_color="#eee",  8     legend_pos="right",  9     geo_effect_symbol="plane", 10     geo_effect_symbolsize=15, 11     label_color=['#a6c84c', '#ffa022', '#46bee9'], 12     label_pos="right", 13     label_formatter="{b}", 14     label_text_color="#eee", 15     legend_selectedmode="single", #指定单例模式 16 ) 17 geolines = GeoLines("GeoLines 示例", **style.init_style) 18 geolines.add("从广州出发", data_guangzhou, **style_geo) 19 geolines.add("从北京出发", data_beijing, **style_geo) 20 geolines.render()

用于带有起点和终点信息的线数据的绘制,主要用于地图上的航线,路线的可视化。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!