def locate_on_map(addr, longtitude, latitude): g = Geo().add_schema(maptype="上海") g.add_coordinate(addr, longtitude, latitude) data_pair = [(addr, 1)] g.add('', data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=20) g.set_series_opts(label_opts=options.LabelOpts(is_show=False)) g.set_global_opts(title_opts=options.TitleOpts(title="地图标点测试")) g.render_notebook() print("process finished")
def out_data(date_number): city_list = ('南宁市', '柳州市', '桂林市', '梧州市', '北海市', '防城港市', '钦州市', '贵港市', '玉林市', '百色市', '贺州市', '河池市', '来宾市', '崇左市') city_od_list_pro = [] city_od_values_pro = [] for i in city_list: city = i workbook = xlrd.open_workbook(f'.\\{path}\\{city}-迁入来源地规模指数.xlsx') sheet = workbook.sheet_by_index(0) city_od_list = [] city_od_values = [] a = 0 cols = sheet.col_values(1)[1:] cols_date = sheet.col_values(date_number + 1)[1:] for j in cols: city_od = (city, j) city_od_v = (j, cols_date[a]) city_od_list.append(city_od) city_od_values.append(city_od_v) a += 1 city_od_list_pro.append(city_od_list) city_od_values_pro.append(city_od_values) od_list = [] os_values = [] for i in range(14): for j in range(14): od_list.append(city_od_list_pro[i][j]) os_values.append(city_od_values_pro[i][j]) # print(od_list) # print(os_values) geo = Geo() # 地图类型,世界地图可换为world geo.add_schema(maptype="广西") # 添加数据点 geo.add("%", os_values, type_=ChartType.EFFECT_SCATTER) # 添加流向,type_设置为LINES,涟漪配置为箭头,提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none' geo.add("迁出城市", od_list, type_=ChartType.LINES, effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW, symbol_size=5, color="yellow"), linestyle_opts=opts.LineStyleOpts(curve=0.2), is_large=True) # 不显示标签 geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) # 设置图标标题,visualmap_opts=opts.VisualMapOpts()为左下角的视觉映射配置项 geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="广西地市迁徙数据")) # 直接在notebook里显示图表 geo.render_notebook() # 生成html文件,可传入位置参数 geo.render(f".\\out_od\\广西-2020.10.{date_number}迁出OD图.html")
def in_data(city, date_number): workbook = xlrd.open_workbook(f'.\\{path}\\{city}-迁入来源地规模指数.xlsx') sheet = workbook.sheet_by_index(0) city_od_list = [] city_od_values = [] a = 0 cols = sheet.col_values(1)[1:] cols_date = sheet.col_values(date_number + 1)[1:] for j in cols: city_od = (j, city) city_od_v = (j, cols_date[a]) city_od_list.append(city_od) city_od_values.append(city_od_v) a += 1 geo = Geo() # 地图类型,世界地图可换为world geo.add_schema(maptype="广西") # 添加数据点 geo.add("%", city_od_values, type_=ChartType.EFFECT_SCATTER) # 添加流向,type_设置为LINES,涟漪配置为箭头,提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', # 'diamond', 'pin', 'arrow', 'none' geo.add("迁入城市", city_od_list, type_=ChartType.LINES, effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW, symbol_size=5, color="yellow"), linestyle_opts=opts.LineStyleOpts(curve=0.2), is_large=True) # 不显示标签 geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) # 设置图标标题,visualmap_opts=opts.VisualMapOpts()为左下角的视觉映射配置项 geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title=f"{city}迁入数据")) # 直接在notebook里显示图表 geo.render_notebook() # 生成html文件,可传入位置参数 geo.render(f".\\in_od\\{city}-2020.10.{date_number}迁入OD图.html")
("深圳", 1), ("汕头", 1), ("烟台", 1), ("威海", 1), ("芜湖", 1), ("南京", 1), ("温州", 1), ("嘉兴", 1), ], type_=ChartType.EFFECT_SCATTER) c.add( "机场", [ ("北京", 6), ("呼和浩特", 4), ("南昌", 4), ("贵州", 4), ("成都", 4), ("哈尔滨", 2), ("乌鲁木齐", 1), ("郑州", 1), ("沈阳", 2), ("长春", 1), ], type_=ChartType.EFFECT_SCATTER, ) c.set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts( title_opts=opts.TitleOpts(title="港口机场分布图"), visualmap_opts=opts.VisualMapOpts(max_=30)) c.render_notebook()
) pie.render_notebook() # 高校分布热力图 geo = Geo() geo.add_schema(maptype="china") geo.add("高校分布热力图", [ list(z) for z in zip(data['name'].values.tolist(), data['counts'].values.tolist()) ], type_=ChartType.HEATMAP) geo.set_global_opts( visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="全国高校热力图"), ) geo.render_notebook() # 各地区高校数量段位图 geo = Geo() geo.add_schema(maptype="china") geo.add("各地区高校数量段位图", [ list(z) for z in zip(data['name'].values.tolist(), data['counts'].values.tolist()) ], type_=ChartType.EFFECT_SCATTER) geo.set_global_opts( visualmap_opts=opts.VisualMapOpts(is_piecewise=True, max_=150), title_opts=opts.TitleOpts(title="各地区高校数量段位图"), ) geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) geo.render_notebook()
a.add_schema( maptype="china", itemstyle_opts=opts.ItemStyleOpts(color="#323c40", border_color="gray"), is_roam=True, zoom=1, ) a.add( "", [("广州", 44), ("北京", 66), ("杭州", 77), ("重庆", 88), ("西安", 99)], #后边的数字代表每个城市的数据 type_=ChartType.EFFECT_SCATTER, color="white", ) a.add( "", [("广州", "上海"), ("广州", "北京"), ("广州", "杭州"), ("广州", "重庆"), ("广州", "西安")], type_=ChartType.LINES, effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW, symbol_size=6, color="gold"), linestyle_opts=opts.LineStyleOpts(curve=0.1), ) a.set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts( title_opts=opts.TitleOpts(title="航线图")) a.render_notebook()