Python第三方库pyexharts画折线图

1、pyexharts中文官方文档:

 https://pyecharts.org/#/zh-cn/global_vars

2、pyecharts安装命令:

python -m pip install pyecharts

3、若pyecharts安装成功但是导包出现 cannot import name 'Line' 解决方法:

  1. 输入命令:python -m pip install wheel
  2. 然后在输入: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、效果图如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值