def get_eventbmap(pos) -> BMap: #[(lo,la),(lo,la)]这种格式即可 BAIDU_AK = "HOTBRAfU1jGcQKHBX15ucKsfZO722eyN" center = (117.20, 39.12) c = BMap() c.add_schema( baidu_ak=BAIDU_AK, center=[117.20, 39.12], zoom=10, is_roam=False, ) sequence = [] for i in range(len(pos)): c.add_coordinate(str(i), pos[i][0], pos[i][1]) #[(posindex,lo,la)] sequence.append((str(i), 0.1)) #这里名字和pos要对应 c.add( "投诉坐标", #系列名称 sequence, type_="scatter", #"heatmap" 可以切换显示的类型热力图或散点图 label_opts=opts.LabelOpts(formatter="{b}"), symbol_size=5) c.set_series_opts(effect_opts=opts.EffectOpts(is_show=True), label_opts=opts.LabelOpts(is_show=False)) c.add_control_panel( scale_control_opts=opts.BMapScaleControlOpts(), navigation_control_opts=opts.BMapNavigationControlOpts(), maptype_control_opts=opts.BMapTypeControlOpts()) #c.set_global_opts(visualmap_opts=opts.VisualMapOpts()) return c
def test_bmap(): b = BMap() b.add_schema(baidu_ak='iMplFNfYyAf4e7EleegtObtcOZdliriG',center=[116.395645,39.929986],zoom=9) # 定义坐标对应的名称,添加到坐标库中 add_coordinate(name, lng, lat) engine = create_engine('mysql+pymysql://root:123456@localhost:3306/house') # 查询语句,选出employee表中的所有数据 sql = '''select * from 4sstore_beijing;''' # read_sql_query的两个参数: sql语句, 数据库连接 df = pd.read_sql_query(sql, engine) data_pair=[] for index,row in df.iterrows(): b.add_coordinate(row['name'], float(row['lng']),float(row['lat'])) data_pair.append((row['name'], None)) # Geo 图类型,有 scatter, effectScatter, heatmap, lines 4 种,建议使用 # from pyecharts.globals import GeoType # GeoType.GeoType.EFFECT_SCATTER,GeoType.HEATMAP,GeoType.LINES # 将数据添加到地图上 b.add('bmap', data_pair, "scatter" ,symbol_size=5) # 设置样式 b.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) b.set_global_opts( visualmap_opts=opts.VisualMapOpts(is_piecewise=False), title_opts=opts.TitleOpts(title="北京4s店分布") ) return b
def get_bmap(pos) -> BMap: BAIDU_AK = "HOTBRAfU1jGcQKHBX15ucKsfZO722eyN" #center = (117.20, 39.12) c = BMap() c.add_schema(baidu_ak=BAIDU_AK, center=[117.20, 39.12], zoom=10, is_roam=False) sequence = [] for i in range(len(pos)): #print(pos[i]) c.add_coordinate(pos[i][0], pos[i][2], pos[i][1]) sequence.append((str(i), 5)) c.add( "投诉坐标", #系列名称 sequence, type_="scatter", #"heatmap" 可以切换显示的类型热力图或散点图 label_opts=opts.LabelOpts(formatter="{b}"), symbol_size=4 #scatter大小 ) #.add("bmap", #[{"coord":[117.21, 39.13],"sim":10},{"coord":[117.20, 39.13],"sim":20},{"coord":[117.21, 39.12],"sim":5}], #[list(z) for z in zip(Faker.provinces, Faker.values())],#zip将迭代对像打包成元组最后的结果是[['浙江',v1],['广东',v2]] #[[117.21, 39.13],[117.20, 39.12],[117.22, 39.10],[117.25, 39.11],[117.19, 39.02],[117.20, 39.12]], #type_="heatmap", #label_opts=opts.LabelOpts(formatter="{b}")) c.set_series_opts( effect_opts=opts.EffectOpts(is_show=True), label_opts=opts.LabelOpts(is_show=False), ) c.add_control_panel( scale_control_opts=opts.BMapScaleControlOpts(), navigation_control_opts=opts.BMapNavigationControlOpts(), maptype_control_opts=opts.BMapTypeControlOpts()) #copyright_control_opts=opts.BMapCopyrightTypeOpts(copyright_="我的") #geo_location_control_opts=opts.BMapGeoLocationControlOpts() #overview_map_opts=opts.BMapOverviewMapControlOpts(is_open=True), #c.set_global_opts(visualmap_opts=opts.VisualMapOpts(pos_left="right")) return c
output = 'json' ak = 'Z2hzbMkqq4hgAS0IPHgRYPoRfjP9QBee' url = 'http://api.map.baidu.com/place/v2/search?q=华中科技大学食堂®ion=武汉&output=' + output + '&ak=' + ak r = requests.get(url) r_js = r.json() for i in range(0, 9): names = r_js['results'][i]['name'] lng_ = r_js['results'][i]['location']['lng'] lat_ = r_js['results'][i]['location']['lat'] print(names, lng_, lat_) c = BMap() c.width = "1000px" c.height = "800px" c.add_schema(baidu_ak='Z2hzbMkqq4hgAS0IPHgRYPoRfjP9QBee', center=[114.421214, 30.519139], zoom=17) for i in range(0, 9): c.add_coordinate(r_js['results'][i]['name'], r_js['results'][i]['location']['lng'], r_js['results'][i]['location']['lat']) c.add("华中科技大学食堂", [(r_js['results'][i]['name'], "#404a59")], color="#404a59") c.set_global_opts(title_opts=opts.TitleOpts(title="BMap-基本示例"), visualmap_opts=opts.VisualMapOpts(is_piecewise=True)) c.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) c.render() '''driver = webdriver.Chrome() driver.get("F:///pyecharts/untitled/html/road.html") driver.get("http://127.0.0.1:8848/untitled/road.html")'''