1、pyexharts中文官方文档:
https://pyecharts.org/#/zh-cn/global_vars
2、pyecharts安装命令:
python -m pip install pyecharts
3、若pyecharts安装成功但是导包出现 cannot import name 'Line' 解决方法:
- 输入命令:python -m pip install wheel
- 然后在输入:python -m pip install pyecharts==0.1.9.4
4、代码如下:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
from pyecharts import Line
def get_datas(file_name):
"""
获取文件数据
:param file_name: 目标文件名称
:return: [15.5,7.8]
"""
datas_list = []
with open(file_name, 'r') as f:
for line in f.readlines():
datas_list.append(line)
# 需要对数据进行切割,进而获取 datas_list 中的目标参数
cut_datas_list = []
for i in datas_list:
cut_datas_list.append(i.split())
# 取 cut_datas_list 中的目标参数
params = []
for i in cut_datas_list:
params.append(i[2])
return params
def supplementary_list(params1, params2, params3):
"""
补充列表至长度一致
:param params1:
:param params2:
:param params3:
:return:
"""
total_len = max(len(params1), len(params2), len(params3))
supp_list1 = total_len - len(params1)
total_params1 = params1 + ['' for x in range(0, supp_list1)]
supp_list2 = total_len - len(params2)
total_params2 = params2 + ['' for x in range(0, supp_list2)]
supp_list3 = total_len - len(params3)
total_params3 = params3 + ['' for x in range(0, supp_list3)]
# x 轴用到的参数
time_list = [x + 2 for x in range(0, total_len * 2) if x % 2 == 0]
print(total_len, len(time_list), len(total_params1), len(total_params2), len(total_params3))
return time_list, total_params1, total_params2, total_params3
if __name__ == '__main__':
res = supplementary_list(get_datas('cpu-tdxw-5892.log'),
get_datas('cpu-xiadan-5724.log'),
get_datas('cpu-hexin-9232.log')
)
# 生成折线图
line = Line('CPU占用', '登录-单笔委托-批量委托-撤单-退出')
line.add("通达信单进程", res[0], res[1],
line_width= 2, # 线条宽度,默认=1
line_opacity= 1, # 线条的透明图 0-1,0=完全透明,1=完全不透明
line_curve= 1, # 线条弯曲程度,0-1, 0=完全不弯曲,1=最弯曲 TODO 未测试出效果
line_type= 'solid', # 线条的样式 ['solid', 'dashed', 'dotted']
line_color= "red" # 线条的颜色
)
line.add("下单还原模式单进程", res[0], res[2],
line_width= 2, # 线条宽度,默认=1
line_opacity= 1, # 线条的透明图 0-1,0=完全透明,1=完全不透明
line_curve= 1, # 线条弯曲程度,0-1, 0=完全不弯曲,1=最弯曲 TODO 未测试出效果
line_type= 'dashed', # 线条的样式 ['solid', 'dashed', 'dotted']
line_color= "yellow" # 线条的颜色
)
line.add("下单精简模式单进程", res[0], res[3],
line_width= 2, # 线条宽度,默认=1
line_opacity= 1, # 线条的透明图 0-1,0=完全透明,1=完全不透明
line_curve= 1, # 线条弯曲程度,0-1, 0=完全不弯曲,1=最弯曲 TODO 未测试出效果
line_type= 'dotted', # 线条的样式 ['solid', 'dashed', 'dotted']
line_color= "green" # 线条的颜色
)
line.render('CPU.html')
5、效果图如下: