-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathchart_utils.py
59 lines (57 loc) · 1.6 KB
/
chart_utils.py
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
58
59
def create_chart_options(data, title):
categories = [item[0] for item in data] # 获取类别名称
values = [item[1] for item in data] # 获取数值
# 生成带有颜色和标签位置的数据点
series_data = []
for value in values:
color = 'red' if value > 0 else 'green'
label_position = 'right' if value > 0 else 'left' # 根据值的正负设置标签位置
data_point = {
'value': value,
'itemStyle': {
'color': color
},
'label': {
'show': True,
'position': label_position,
'color': 'black',
'fontWeight': 'bold',
'fontSize': 12
}
}
series_data.append(data_point)
return {
'title': {
'text': title,
'left': 'center'
},
'tooltip': {
'trigger': 'axis',
'axisPointer': {
'type': 'shadow'
}
},
'grid': {
'left': '3%',
'right': '4%',
'bottom': '3%',
'containLabel': True
},
'yAxis': {
'type': 'category',
'data': categories,
'axisLabel': {
'fontWeight': 'bold',
'show': True # 确保所有的yAxis名字都显示出来
}
},
'xAxis': {
'type': 'value',
'position': 'top'
},
'series': [{
'data': series_data,
'type': 'bar',
'barWidth': '60%'
}]
}