def get_echarts_instance(self, *args, **kwargs): device_data = models.Device.objects.values('device_type').annotate(count=Count('device_type')) device_types, counters = fetch(device_data, 'device_type', 'count') pie = Pie("设备分类", page_title='设备分类', width='100%') pie.add("设备分类", device_types, counters, is_label_show=True) battery_lifes = models.Device.objects.values('name', 'battery_life') names, lifes = fetch(battery_lifes, 'name', 'battery_life') bar = Bar('设备电量', page_title='设备电量', width='100%') bar.add("设备电量", names, lifes) page = Page.from_charts(pie, bar) return page
def get_echarts_instance(self, *args, **kwargs): decimal_places = 1 film_datas = FilmLen.objects.all().order_by('id')[:200] ids = fetch(film_datas.values("id"), "id") # bar bar_mix = Bar("Film 長度", page_title='(BarMix)', width='100%') for i in range(0, 5): bar_data = fetch(film_datas.values(f"{self.len_map[i]}"), f"{self.len_map[i]}") bar_mix.add( f"{self.len_map[i]}", ids, list(map(lambda x:round(x, decimal_places), bar_data)), is_stack=True, is_datazoom_show=True ) page = Page.from_charts(bar_mix) return page
def create_three(): # bar v1 = [5, 20, 36, 10, 75, 90] v2 = [10, 25, 8, 60, 20, 80] bar = Bar("柱状图数据堆叠示例") bar.add("商家A", CLOTHES, v1, is_stack=True) bar.add("商家B", CLOTHES, v2, is_stack=True) # scatter3D import random data = [ [random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80) ] scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600) scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR) return Page.from_charts(bar, scatter3d)
def create_three(): # bar v1 = [5, 20, 36, 10, 75, 90] v2 = [10, 25, 8, 60, 20, 80] bar = Bar("柱状图数据堆叠示例") bar.add("商家A", CLOTHES, v1, is_stack=True) bar.add("商家B", CLOTHES, v2, is_stack=True) # scatter3D import random data = [ [random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80) ] scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600) scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR) return Page.from_charts(bar, scatter3d)