Ejemplo n.º 1
0
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')
Ejemplo n.º 2
0
 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()
Ejemplo n.º 3
0
                               "林芝市", "临夏州", "甘南州", "海北州", "黄南州", "海南州", "果洛州", "玉树州", "海西州",
                               "昌吉州", "博州", "克州", "伊犁哈萨克州"]

    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
Ejemplo n.º 4
0
    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("图表生成完成")