разный цвет маркеров на пересчете на морскую карту - PullRequest
0 голосов
/ 09 июля 2020

Я использую relplot, чтобы построить линию для разных оценок в разных доменах вместе с разными датами. Я не хочу окрашивать в красный цвет некоторые точки в зависимости от условия - если маркер в какой-либо дате выше или ниже, чем средняя + стандартная линия. как я могу сделать это возможным? Я добавил свой код и изображение своих участков. спасибо

введите описание изображения здесь

communiation = {'8':'Eye contact',
                '9':'Facial expressions',
                '10':'Gestures',
                '11':'Vocaliztions',
                '12':'Vocal & non-vocal intergation'}

comm_data['dates'] = comm_data['submitted_at'].astype(str)

sns.set_style("white") 
g = sns.relplot(x="dates", y="int_value_0", row="question_id", kind="line", 
            data=comm_data, color = 'royalblue', linewidth= 3,
            height = 5, aspect = 1, marker='o')
g.fig.set_size_inches(10,20)
for ax in g.axes.ravel():
    ax.set_xticklabels(ax.get_xticklabels(), rotation=45)
q = 8
for ax in g.axes:
    ax[0].axhline(mean_c[q], c = 'lightgray', linewidth = 1)
    ax[0].axhline(meanPstd_c[q], ls = '--', c = 'gray')
    ax[0].axhline(meanMstd_c[q], ls = '--', c = 'gray')
    ax[0].text(comm_data['dates'].max(), mean_c[q], 'mean', fontsize = 12) 
    ax[0].text(comm_data['dates'].max(), meanPstd_c[q], 'mean+std', fontsize = 12) 
    ax[0].text(comm_data['dates'].max(), meanMstd_c[q], 'mean-std', fontsize = 12)
#     for date in comm:
#        ax[0].text(str(date),1,comm[date[1]])
    #ax[0].text('2018-05-08',0,'Fever'
    q += 1
for ax in g.axes.flat:
    #ax.set(xlabel = None, ylabel = 'score', titlesize='x-large')
    ax.set_xlabel(None)
    ax.set_ylabel('score', fontsize='x-large')
    if ax.get_title():
        title_num = ax.get_title().split('= ')[1]
        ax.set_title(ax.get_title().replace(ax.get_title(),communiation[title_num]),
                     fontsize='xx-large')

'' '

...