Я строю мультикатегоричный блокпост и у меня возникают проблемы с выравниванием блокпостов, чтобы они находились в правильном положении.
У меня есть моя ось х генов, которая подразделяется на базы данных.Но мой сюжет все посередине на гене.
Я делаю свою ось так:
x = sorted(list(set([(gene, database) for gene in totaldf['gene'].to_list() for database in totaldf['db'].to_list()])))
p = figure(background_fill_color="#efefef", x_range=FactorRange(*x), width=1600, height=700)
и пытаюсь построить свои прямоугольники так:
p.vbar(x=(gene, db), width=0.7, bottom=q2[gene, db], top=q3[gene, db], fill_color="#ffffff", line_color="black")
p.vbar(x=(gene, db), width=0.7, bottom=q1[gene, db], top=q2[gene, db], fill_color="#ffffff", line_color="black")
В результате мой график строится так:https://imgur.com/a/8Q8YC1N
Как сделать так, чтобы сюжет находился в нужных местах?Фрейм данных выглядит следующим образом:
gene db mutations
0 IGHV1-3 G1K_CL2 6
1 IGHV1-58 G1K_CL2 2
2 IGHV1-58 G1K_CL2 3
3 IGHV1-8 G1K_CL2 2
4 IGHV3-16 G1K_CL2 3
.. ... ... ...
141 IGHV4-61 G1K_CL3 11
142 IGHV4-61 G1K_CL3 12
143 IGHV4-61 G1K_CL3 10
144 IGHV4-61 G1K_CL3 13
145 IGHV7-81 G1K_CL3 4