Я следовал этому руководству, чтобы создать сложенную двойную гистограмму, которая хорошо работала для моих данных, но теперь я пытаюсь отредактировать легенду, чтобы включить в нее информацию, необходимую для чтения рисунка. Я пытался следовать этому ответу, но он просто создает новую легенду поверх исходной.
[img]https://i. sstatic.net/raMIXUkZ.png[/img]
В моей легенде я хотел бы видеть
blue -> raw
orange -> spike
hatched -> CATTCCA
blank -> CATTCCT
Есть идеи, как этого добиться?
Вот мои данные:
Conds method peaks motif_CATTCCA motif_CATTCCT
TEAD1_T1_pos_1 raw_only 22424 2376 1357
TEAD1_T1_pos_1 spike_only 4086 975 246
TEAD1_T1_pos_2 raw_only 59922 6907 3899
TEAD1_T1_pos_2 spike_only 1064 611 63
TEAD1_T7_neg_1 raw_only 5650 745 346
TEAD1_T7_neg_1 spike_only 16340 2458 984
TEAD1_T7_neg_2 raw_only 64300 7812 4407
TEAD1_T7_neg_2 spike_only 662 406 29
TEAD1_T7_pos_1 raw_only 49892 4894 3109
TEAD1_T7_pos_1 spike_only 1106 598 55
TEAD1_T7_pos_2 raw_only 22666 2325 1403
TEAD1_T7_pos_2 spike_only 4558 1002 259
и код:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import seaborn as sns
workdir = "my/dir/"
data = pd.read_csv(workdir + "motifs_under_peaks.txt", sep=" ")
data_pct = data.copy()
data_pct["motif_CATTCCA"] = data_pct["motif_CATTCCA"] / data_pct["peaks"]
data_pct["motif_CATTCCT"] = data_pct["motif_CATTCCT"] / data_pct["peaks"]
data_pct = data_pct.drop("peaks", 1)
data_pct = data_pct.melt(id_vars=["Conds", "method"], var_name="motif")
total = data_pct.groupby(["Conds", "method"])["value"].sum().reset_index()
motif_A = data_pct[data_pct.motif =="motif_CATTCCA"]
fig1, ax1 = plt.subplots()
bar1 = sns.barplot(x="value", y="Conds", hue="method", data=total, ax=ax1)
bar2 = sns.barplot(x="value", y="Conds", hue="method", data=motif_A, hatch="xxxxx", ax=ax1) ##need to add hatching into legend
fig1.legend(title="motif enrichment", loc="upper right", labels=["raw CATTCCT", "spike CATTCCT", "raw CATTCCA", "spike CATTCCA"])
Подробнее здесь: https://stackoverflow.com/questions/792 ... ed-barplot
Редактировать легенду многоуровневой диаграммы Seaborn ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение