соединить «шапки» коробчатого сюжета - PullRequest
1 голос
/ 30 мая 2020

привет, у меня есть функция python для соединения «крышек» 2 коробчатых диаграмм, но я не могу соединить только верхние крышки, и это то, что мне нужно (соедините только верхние крышки розовой линией), Я очень ценю вашу помощь, 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

1 Ответ

1 голос
/ 30 мая 2020

Это сделает это:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...