def DrawGeo(city_names): data = [] for cn in city_names: temp = qr.get_data(cn) data.append((cn, temp['pm25'])) geo = Geo('全国部分城市空气质量', 'pm2.5', title_color='#fff', title_pos='center', width=1200, height=600, background_color='#404a59') attr, value = geo.cast(data) geo.add('', attr, value, visual_range=[0, 200], visual_text_color='#fff', symbol_size=15, is_visualmap=True, type='effectScatter') geo.render('weatherGeo.html')
def geo(self, title=None, data=None): """ 地图 :param title: 数据可视化的标题(字符串) :param data: {地名:value} 字典{'宿迁市': 89, '安康市': 46, '佳木斯市': 50,} :return:地图 """ data = data geo = Geo(title, 'data from AQI', title_color='#fff', \ title_pos='center', width=1200, height=600, background_color='#404a59') attr, value = geo.cast(data) # data is not.0 geo.add('', attr, value, visual_range=[0, 200], visual_text_color='#fff', symbol_size=15, is_visualmap=True, is_piecewise=True, visual_split_number=6) self.page.add(geo) self.page.render()
"林芝市", "临夏州", "甘南州", "海北州", "黄南州", "海南州", "果洛州", "玉树州", "海西州", "昌吉州", "博州", "克州", "伊犁哈萨克州"] data = [] for index, row in df_aqi.iterrows(): city = row['city'] aqi = row['aqi'] if city in echart_unsupported_city: continue data.append( (city, aqi) ) geo = Geo("全国主要城市空气质量(AQI) - 2018-05-27", "数据来源于环保部网站", title_color="#fff", title_pos="center", width=1000, height=600, background_color='#404a59') attr, value = geo.cast(data) geo.add("", attr, value, visual_range=[0, 200], maptype='china',visual_text_color="#fff", symbol_size=10, is_visualmap=True, label_formatter='{b}', # 指定 label 只显示城市名 tooltip_formatter='{c}', # 格式:经度、纬度、值 label_emphasis_textsize=15, # 指定标签选中高亮时字体大小 label_emphasis_pos='right' # 指定标签选中高亮时字体位置 ) geo.render("aqi.html") geo
def createCharts(self): """生成图表""" # 读取数据,格式:[{"北京", 10}, {"上海",10}] data = self.readCityNum() # 1 热点图 geo1 = Geo("观众位置分布热点图", "数据来源:猫眼,Fly采集", page_title="#FFF", title_pos="center", width="100%", height=600, bg_color="#404A59") attr1, value1 = geo1.cast(data) geo1.add("", attr1, value1, type="heatmap", visual_range=[0, 1000], visual_text_color="#FFF", symbol_size=15, is_visualmap=True, is_piecewise=False, visual_split_number=10) geo1.render("files/观众位置热点图.html") # 2 位置图 geo2 = Geo("观众位置分布", "数据来源:猫眼,Fly采集", title_color="#FFF", title_pos="center", width="100%", height=600, background_color="#404A59") attr2, value2 = geo1.cast(data) geo2.add("", attr2, value2, visual_range=[0, 1000], visual_text_color="#FFF", symbol_size=15, is_visualmap=True, is_piecewise=False, visual_split_number=10) geo2.render("files/无名之辈-观众位置图.html") # 3、top20 柱状图 data_top20 = data[:20] bar = Bar("《无名之辈》观众来源排行 TOP20", "数据来源:猫眼,Fly采集", title_pos="center", width="100%", height=600) attr, value = bar.cast(data_top20) bar.add('', attr, value, is_visualmap=True, visual_range=[0, 3500], visual_text_color="#FFF", is_more_utils=True, is_label_show=True) bar.render("files/无名之辈-观众来源top20.html") print("图表生成完成")