def bar_histogram_color() -> Bar: x = Faker.dogs + Faker.animal xlen = len(x) y = [] for idx, item in enumerate(x): if idx <= xlen / 2: y.append( opts.BarItem( name=item, value=(idx + 1) * 10, itemstyle_opts=opts.ItemStyleOpts(color="#749f83"), )) else: y.append( opts.BarItem( name=item, value=(xlen + 1 - idx) * 10, itemstyle_opts=opts.ItemStyleOpts(color="#d48265"), )) c = (Bar().add_xaxis(x).add_yaxis( "series0", y, category_gap=0, color=Faker.rand_color()).set_global_opts(title_opts=opts.TitleOpts( title="Bar-直方图(颜色区分)"))) return c
def bar_datazoom_inside() -> Bar: c = (Bar().add_xaxis(Faker.days_attrs).add_yaxis( "商家A", Faker.days_values, color=Faker.rand_color()).set_global_opts( title_opts=opts.TitleOpts(title="Bar-DataZoom(inside)"), datazoom_opts=opts.DataZoomOpts(type_="inside"), )) return c
def bar_datazoom_slider_vertical() -> Bar: c = (Bar().add_xaxis(Faker.days_attrs).add_yaxis( "商家A", Faker.days_values, color=Faker.rand_color()).set_global_opts( title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-垂直)"), datazoom_opts=opts.DataZoomOpts(orient="vertical"), )) return c
def bar_base(id): answer = getSummaryFunction(id) jsons = [] for item in answer['answer']: if item['type'] == '多选' or item['type'] == '单选': c = (Bar().add_xaxis(eval(item['option'])).add_yaxis( "", eval(item['number']), category_gap="80%", color=Faker.rand_color()).set_global_opts( title_opts=opts.TitleOpts(title=item['questionName'], subtitle=""), toolbox_opts=opts.ToolboxOpts()).dump_options_with_quotes( )) jsons.append(c) else: words = {} for i in eval(item['content']): if i not in words.keys(): words[i] = 1 else: words[i] += 1 c = (WordCloud().add( "", list(words.items()), word_size_range=[20, 100]).set_global_opts( title_opts=opts.TitleOpts(title=item['questionName']), toolbox_opts=opts.ToolboxOpts()).dump_options_with_quotes( )) jsons.append(c) return jsons
def bar_histogram() -> Bar: c = ( Bar() .add_xaxis(Faker.choose()) .add_yaxis("商家A", Faker.values(), category_gap=0, color=Faker.rand_color()) .set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方图")) ) return c
failList.append(jsonData['totalFail']) totalTimeList.append(jsonData['totalTime']) averageTimeList.append( int(jsonData['totalTime'] / len(resultSet[0]['times']))) #print (apiList, timeList, passList, failList, totalTimeList,averageTimeList) tryCnt = ["{}".format(i) for i in range(1, 1001)] page = Page() for i in range(len(apiList)): # 막대 차트 그리기 ichart = ( Bar() # X축에 표시될 값들을 리스트 객체로 넘긴다. 아래 값은 1부터 1000까지 .add_xaxis(tryCnt) # Y축에 표시될 값들을 리스트 객체로 넘긴다. color 파라미터로 색상 지정가능하며 아래는 랜덤 컬러가 부여된다 .add_yaxis("경과시간(단위:ms)", timeList[i], color=Faker.rand_color()). set_global_opts( # 타이틀 및 서브타이틀 지정 가능 title_opts=opts.TitleOpts( title='요청별 응답시간', pos_right="2%", title_textstyle_opts=opts.TextStyleOpts(font_size=15), subtitle='최대 응답속도 :' + str(maxTimeList[i]) + 'ms\n평균 응답속도: ' + str(averageTimeList[i]) + 'ms'), # 인터렉티브 차트 기능인 줌 기능 설정 inside, 수직, 수평을 설정했다 (필요없을 시 인자에서 빼주면된다) datazoom_opts=[ opts.DataZoomOpts(), opts.DataZoomOpts(orient="vertical"), opts.DataZoomOpts(type_="inside") ], # 막대 차트의 값 분류들의 위치 지정 (서브 타이틀쪽에 표시된다)