...
def draw_image(self, datas_by_count, datas_by_priority, keys, values):
"""
绘制图片
:param values:
:param keys:
:param datas_by_count: 按bug总数排序结果
:param datas_by_priority: 按bug优先级排序结果
:return:
"""
# 1、按BUG总数排序绘制
bar = (
Bar().set_global_opts(
title_opts=opts.TitleOpts(title=f"{self.project_name}", subtitle=f"{self.sprint_name}")))
bar.add_xaxis([item[0] for item in datas_by_count])
bar.add_yaxis(f"BUG总数", [item[1] for item in datas_by_count])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
# bar.render(path=f'{sprint_name}-BUG总数.html')
make_snapshot(snapshot, bar.render(), "./output/1.png")
# 2、按优先级排序绘制
bar2 = (
# Bar(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC))
Bar()
.add_xaxis([item[0] for item in datas_by_priority])
.add_yaxis(self.__get_priority(BUG_PRIORITY.Highest), [item[1][0] for item in datas_by_priority],
color='#6aa84f')
.add_yaxis(self.__get_priority(BUG_PRIORITY.High), [item[1][1] for item in datas_by_priority],
color='#a2c4c9')
.add_yaxis(self.__get_priority(BUG_PRIORITY.Medium), [item[1][2] for item in datas_by_priority],
color="#ff9900")
.add_yaxis(self.__get_priority(BUG_PRIORITY.Low), [item[1][3] for item in datas_by_priority],
color="#ea9999")
.add_yaxis(self.__get_priority(BUG_PRIORITY.Lowest), [item[1][4] for item in datas_by_priority],
color="#980000")
.set_global_opts(
title_opts=opts.TitleOpts(title=f"{self.project_name}", subtitle=f"{self.sprint_name}"))
)
# bar2.render(path=f'{sprint_name}-BUG优先级.html')
make_snapshot(snapshot, bar2.render(), "./output/2.png")
# 3、根据终端来绘制饼图
if len(keys) > 0 and len(values) > 0:
c = (
Pie()
.add("", [list(z) for z in zip(keys, values)])
.set_global_opts(title_opts=opts.TitleOpts(title="各端BUG分布"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
make_snapshot(snapshot, c.render(), f"./output/{self.project_name}_end.png")
# 4、合并两张图片
self.concatenate_img(['./output/1.png', './output/2.png'], img_name=f'./output/{self.sprint_name}_bug.png',
axis=1)
...
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.