import os import pyecharts from pyecharts.charts import Line from pyecharts import options as opts from pyecharts.globals import ThemeType if __name__ == '__main__': dir_path = r'E:\Data\Research\Outcome\Walmart-Amazon_dirty' filename_list = os.listdir(dir_path) iter_list = [] precision = [] recall = [] f1 = [] interpretability = [] performance = [] for _ in filename_list: if _.startswith('eval_result'): it = int(_[12:13]) iter_list.append(str(it)) with open(dir_path + '\\' + _, 'r') as f: # 读取每一行的md,加入该文件的md列表 for line in f.readlines(): if line.startswith('Precision'): lt = line.split(' ') value = float(lt[2].replace('%', ''))/100 precision.append(value) elif line.startswith('Recall'): lt = line.split(' ') value = float(lt[2].replace('%', ''))/100 recall.append(value) elif line.startswith('F1'): lt = line.split(' ') value = float(lt[2].replace('%', ''))/100 f1.append(value) elif line.startswith('interpretability'): lt = line.split(':') value = float(lt[1]) interpretability.append(value) elif line.startswith('performance'): lt = line.split(':') value = float(lt[1]) performance.append(value) line = ( Line(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) .add_xaxis(iter_list) .add_yaxis('Precision', precision) .add_yaxis('Recall', recall) .add_yaxis('F1', f1) .add_yaxis('Interpretability', interpretability) .add_yaxis('Performance', performance) .set_global_opts(title_opts=opts.TitleOpts(title=dir_path.split('\\')[-1])) ) line.render(dir_path + '\\' + "line.html")