Pyecharts中Geo函数常用参数详解

一、Pyeharts简介

pyecharts 是一个用于生成 Echarts 图表的类库。用 Echarts 生成的图可视化效果很不错,pyecharts库是用来与 Python 进行对接,方便在 Python 中直接使用数据生成图。

最新的Pyecharts库版本是v1,且与老版本 v0.5.X 是不兼容的,v0.5.X版本也已不再维护。新旧版本的Geo有着较大改动,本篇均是基于旧版本0.5.11

二、Pyecharts安装

pyecharts的安装说明很简单,也有很多大佬写了过程,本篇不赘述,主要说一下指定版本的问题。

安装pyecharts

Pyecharts v1版本的安装可使用pip install pyecharts -U

Pyecharts v0.5.X版本的安装可使用pip install pyecharts==0.5.11

安装对应的地图拓展

pip install echarts-countries-pypkg         

pip install echarts-china-provinces-pypkg 

pip install echarts-china-cities-pypkg 

pip install echarts-china-counties-pypkg

pip install echarts-china-misc-pypkg

全球国家地图:echarts-countries-pypkg (1.9MB)

中国省级地图:echarts-china-provinces-pypkg (730KB)

中国市级地图:echarts-china-cities-pypkg (3.8MB)

中国区县地图:echarts-china-counties-pypkg

中国大区地图:echarts-china-misc-pypkg(如:华南、华北等)

三、Geo常用参数说明

1、创建Geo:geo=Geo()

geo=Geo()是画出地图的背景。

Geo(title,subtitle,width,height,title_pos,title_top,title_color,subtitle_color,title_text_size,subtitle_text_size,background_color,page_title,renderer,is_animation)
各参数说明如下。实际使用过程中,我们其实经常用到的就几个参数,如title,width,height,background_color,只要搞这几个基本就够用了,所有参数都有默认值,这意味着在最极端情况下,直接用Geo()也可以,不过画出来的就是一张白纸罢了。

Init docstring:
       :param title:
           主标题文本,支持换行,默认为 ""
       :param subtitle:
           副标题文本,支持换行,默认为 ""
       :param width:
           画布宽度,默认为 800(px)
       :param height:
           画布高度,默认为 400(px)
       :param title_pos:
           标题距离左侧距离,默认为'left',有'auto', 'left', 'right',
           'center'可选,也可为百分比或整数
       :param title_top:
           标题距离顶部距离,默认为'top',有'top', 'middle', 'bottom'可选,
           也可为百分比或整数
       :param title_color:
           主标题文本颜色,默认为 '#000'
       :param subtitle_color:
           副标题文本颜色,默认为 '#aaa'
       :param title_text_size:
           主标题文本字体大小,默认为 18
       :param subtitle_text_size:
           副标题文本字体大小,默认为 12
       :param background_color:
           画布背景颜色,默认为 '#fff'
       :param page_title:
           指定生成的 html 文件中 <title> 标签的值。默认为 'Echarts'
       :param renderer:
           指定使用渲染方式,有 'svg' 和 'canvas' 可选,默认为 'canvas'。
           3D 图仅能使用 'canvas'。
       :param extra_html_text_label:
           额外的 HTML 文本标签,(<p> 标签)。类型为 list,list[0] 为文本内容,
           list[1] 为字体风格样式(选填)。如 ["this is a p label", "color:red"]
       :param is_animation:
           是否开启动画,默认为 True。V0.5.9+

举例子:

from pyecharts import Geo

geo =Geo("Geo地图示例", "副标题",width=500, height=500, title_pos='center',title_top=20, title_color="#2E2E2E",
         subtitle_color='#aaa',title_text_size=16,subtitle_text_size=12,background_color='#EEEEE8',
         page_title='Echarts',renderer='canvas',is_animation=True)

geo

 

2、geo.add_coordinate()新增坐标点

geo.add_coordinate()的作用就是新增,比如现在调用一张广州地图,现在要在显示一个特定的点“测试1”,像这样的点就必须用add_coordinate新增进去,否则会报错(ValueError: No coordinate is specified for 测试1)。

geo.add_coordinate(点名称,经度,纬度),3个参数都是必填项

geo.add_coordinate('测试点1',113.40,23.07)

3、geo.add()展示坐标点

geo.add()的作用就是将点展示到上面加载的地图上,add有一大堆的参数,最常用的是series_name、names、value、type、maptype、is_visualmap、visual_range、visual_text_color、symbol_size,其中series_name、names、value、maptype这四个是必填项

    # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
    series_name: str,

    # 数据项 (坐标点名称)
    names:list

    # 数据项 (坐标点值)
    value: list

    # Geo 图类型,有 scatter, effectScatter, heatmap, lines 4 种
    type: 默认"scatter",

    # 是否选中图例
    is_selected: 默认True,

    # 标记图形形状,circle,pin,rect,diamon,roundRect,arrow,triangle
    symbol: 默认circle,

    # 标记的大小
    symbol_size: 默认12,

    # 系列 label 颜色
    color: 默认None,

    # 是否是多段线,在画 lines 图情况下
    is_polyline: 默认 False,

    # 是否启用大规模线图的优化,在数据图形特别多的时候(>=5k)可以开启
    is_large: 默认 False,

    # 特效尾迹的长度。取从 0 到 1 的值,数值越大尾迹越长。
    trail_length:默认 0.2

    # 地图选择,如广东、广州、china
    maptype

    #不知道什么作用,只知道默认Ture
    is_random

    #是否开启鼠标缩放和平移漫游。'scale'缩放、'move'平移、'True'都开启
    is_roam:默认True

    #显示图例条
    is_visualmap:默认True

    #图例条范围
    visual_range

    #图例条颜色
    visual_text_color

    #常态下地图的颜色
    geo_normal_color

    #触发下地图的颜色(鼠标放在地图上)
    geo_emphasis_color

    #涟漪的多少,当type="effectScatter"时才有效
    effect_scale

    #显示标签
    is_label_show

    #标签颜色
    label_text_color

    #标签位置(inside,top,bottom,left,right)
    label_pos:默认"inside"

    #边界颜色
    border_color

举例子

from pyecharts import Geo

districts=['荔湾区', '花都区', '番禺区','测试点1']
value = [ 200, 200,300,400]

geo =Geo("Geo地图示例", "副标题",width=500, height=500, title_pos='center',title_top=20, title_color="#2E2E2E",
         subtitle_color='#aaa',title_text_size=16,subtitle_text_size=12,background_color='#EEEEE8',
         page_title='Echarts',renderer='canvas',is_animation=True)

geo.add_coordinate('测试点1',113.40,23.07)
geo.add("系列名1", 
        districts, value,type="effectScatter",is_selected=True,symbol='circle',symbol_size=20,color=None,
        maptype='广州',is_roam=True,is_visualmap=True, visual_range=[0,500],visual_text_color="#2E2E2E",
        geo_normal_color="#323c48",geo_emphasis_color='#2a033d', effect_scale=3,
        is_label_show=True,label_text_color="#00FF00",label_pos="inside"
        )

geo.render("广州测试2.html")
geo

 在这里有2个问题还没解决。第一、不知道is_random参数的作用,感觉不管是True或False都没影响;第二、如上图的series_name “系列名1”,不知道如何改变它的位置,如移动到左边右边等。

4、geo.render()保存文件

geo.render()很简单了,就是将地图保存为文件出来,render只有一个参数,就是path路径

geo.render("广州测试2.html")

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值