首页 > 编程笔记 > Python笔记 阅读:21

pyecharts Map类:绘制地图(附带实例)

Python 程序中,可以通过 pyecharts.charts 模块中的 Map 类绘制地图,其语法格式如下:
Map(init_opts)
其中,参数 init_opts 表示初始化配置项,其值需为 options 模块中的 InitOpts 类。

Map 类的相关方法为 add(),其语法格式如下:
add(series_name,data_pair,maptype)
其中,参数 series_name 表示系列名称;参数 data_pair 表示系列数据项;参数 maptype 表示地图的类型。

示例代码如下:
import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as opts

house_data = pd.read_csv('house_data.csv', encoding = 'gbk')
house_data_v0 = house_data.copy()

def filterfunc(x):
    if x == '庄河' or x == '瓦房店':
        return x + '市'
    else:
        return x + '区'

house_data_v0['addr'] = house_data_v0['addr'].map(filterfunc)
grouped_house_df = house_data_v0.groupby(['addr'])
# 各城区房屋平均面积和单价
df = grouped_house_df.mean()
df['unit'] = df['unit'].map(lambda x: int(x))
map = Map()
map.set_global_opts(
    title_opts = opts.TitleOpts(title = "大连各地区二手房单价", pos_left = 'center', padding = [10, 4, 5, 90], subtitle = 'c.biancheng.net', item_gap = 5, title_textstyle_opts = opts.TextStyleOpts(color = 'red', font_size = 18)),
    legend_opts = opts.LegendOpts(pos_left = 120, orient = 'vertical', legend_icon = 'circle'),
    visualmap_opts = opts.VisualMapOpts(orient = 'vertical', pos_right = 20, pos_top = 200, max_ = 50000)
)
map.add('每平方米房价', [list(z) for z in zip(df.index.values, house_data['unit'])], maptype = '大连')
# 不显示城区名称
map.set_series_opts(label_opts = opts.LabelOpts(is_show = False))
map.render('map.html')
代码的运行结果如下图所示:


图 1 地图

相关文章