Python:绘制箱型图(箱线图)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 15:22   15   0
import pandas as pd
import numpy as np
import xlrd
from pathlib import Path
import matplotlib.pyplot as plt

read_path = Path(r"D:\AOR_experiment\conf_result")

# name_list = ["SWD", "ARWU2020-5bin", "ARWU2020-10bin", "QSR2020-10bin", "QSR2020-5bin", "housing-10bin", "housing-5bin",
#          "ERA", "ESL", "LEV", "stock-10bin", "stock-5bin", "car",
#          "Obesity", "bank-5bin", "bank-10bin", "computer-5bin", "computer-10bin"]

name_list = ["ARWU2020-5bin"]
sheet_names = ["Acc_mean", "Acc_std", "MAE_mean", "MAE_std", "F1_mean", "F1_std", "Recall_mean",
               "Recall_std", "ALC_Acc_list", "ALC_MAE_list", "ALC_F1_list", "ALC_Recall_list",
               "ALC_Acc", "ALC_MAE", "ALC_F1", "ALC_Recall"]
for name in name_list:
    path = str(read_path.joinpath(name + "-Result.xls"))
    book = xlrd.open_workbook(path)
    table = book.sheet_by_name("ALC_Acc_list")
    n_rows = table.nrows
    n_cols = table.ncols - 1
    data = np.zeros((n_cols,n_rows))
    columns = []
    for i in range(n_rows):
        columns.append(table.row_values(i)[0])
        data[:,i] = table.row_values(i)[1:]

    df = pd.DataFrame(data=data,columns=columns)
    df.boxplot()
    plt.show()
    break
import pandas as pd
import numpy as np
import xlrd
from pathlib import Path
import matplotlib.pyplot as plt

read_path = Path(r"D:\AOR_experiment\conf_result")

# name_list = ["SWD", "ARWU2020-5bin", "ARWU2020-10bin", "QSR2020-10bin", "QSR2020-5bin", "housing-10bin", "housing-5bin",
#          "ERA", "ESL", "LEV", "stock-10bin", "stock-5bin", "car",
#          "Obesity", "bank-5bin", "bank-10bin", "computer-5bin", "computer-10bin"]

name_list = ["ARWU2020-5bin"]
sheet_names = ["Acc_mean", "Acc_std", "MAE_mean", "MAE_std", "F1_mean", "F1_std", "Recall_mean",
               "Recall_std", "ALC_Acc_list", "ALC_MAE_list", "ALC_F1_list", "ALC_Recall_list",
               "ALC_Acc", "ALC_MAE", "ALC_F1", "ALC_Recall"]
for name in name_list:
    path = str(read_path.joinpath(name + "-Result.xls"))
    book = xlrd.open_workbook(path)
    table = book.sheet_by_name("ALC_Acc_list")
    n_rows = table.nrows
    n_cols = table.ncols - 1
    data = np.zeros((n_cols,n_rows))
    columns = []
    for i in range(n_rows):
        columns.append(table.row_values(i)[0])
        data[:,i] = table.row_values(i)[1:]

    df = pd.DataFrame(data=data,columns=columns)
    fig, axes = plt.subplots()
    df.boxplot(ax=axes)
    axes.set_ylabel("ALC-Acc")
    plt.xticks(rotation=340)
    plt.show()
    break

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP