连接方框图的“封口”

2024-04-23 07:44:11 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我有一个python函数来连接两个箱线图的“caps”,但我不能只连接高级caps,这就是我需要的(只将高级caps与粉色线连接),我非常感谢您的帮助,enter image description here

我的代码是下一个

def set_boxes_lim_max_line(bp, w, c):
    limit_sup_x = []
    limit_sup_y = []

    for p in bp['caps']:
        data = p.get_data()
        #x=bp['caps'][1].get_data()[0]
        x=np.max([data[0].mean(),data[0].mean()])
        #x=bp['boxes'][0].get_data()[0]
        y = data[1].max()
        limit_sup_x.append(x)
        limit_sup_y.append(y)

    plt.plot(limit_sup_x,limit_sup_y, color = c, linewidth = w)
    #plt.plot(limit_sup_x, color = c, linewidth = w)

调用它的函数:

 bp1 = plt.boxplot([sample1[i] for i in posiciones2], positions = (range(1, 3)), widths = 0.6)
    set_box_color(bp1,'red')

    # Agregar lineas caja roja
    set_boxes_lim_max_line(bp1,1.2,'hotpink')#LINEA LIMITE SUPERIOR
    set_boxes_q_min_line(bp1, 1.2, 'tomato') #LINEA "Q3" SUPERIOR CAJA    
    set_boxes_median_line(bp1, 1.2, 'seagreen')#LINEA MEDIANA
    set_boxes_q_max_line(bp1, 1.2, 'darkred')#LINEA "Q1" INFERIOR CAJA
    #set_boxes_q_min_line(bp1, 1.2, 'tomato') #LINEA LIMITE INFERIOR

Tags: 函数datagetlinepltcapsmaxcolor
1条回答
网友
1楼 · 发布于 2024-04-23 07:44:11

这可以做到:

def set_boxes_lim_max_line(bp, w, c):
    limit_sup_x = []
    limit_sup_y = []

    for p in bp['caps'][1::2]:
        data = p.get_data()
        #x=bp['caps'][1].get_data()[0]
        x=np.max([data[0].mean(),data[0].mean()])
        #x=bp['boxes'][0].get_data()[0]
        y = data[1].max()
        limit_sup_x.append(x)
        limit_sup_y.append(y)

    plt.plot(limit_sup_x,limit_sup_y, color = c, linewidth = w)

例如:

enter image description here

相关问题 更多 >