К сожалению, я не нашел решение самостоятельно. Как создать Manhattan plot в python, используя, например, matplotlib/pandas. Проблема в том, что на этих графиках ось х дискретна.Как создать манхэттенский сюжет с matplotlib в python?
from pandas import DataFrame
from scipy.stats import uniform
from scipy.stats import randint
import numpy as np
# some sample data
df = DataFrame({'gene' : ['gene-%i' % i for i in np.arange(1000)],
'pvalue' : uniform.rvs(size=1000),
'chromosome' : ['ch-%i' % i for i in randint.rvs(0,12,size=1000)]})
# -log_10(pvalue)
df['minuslog10pvalue'] = -np.log10(df.pvalue)
df = df.sort_values('chromosome')
# How to plot gene vs. -log10(pvalue) and colour it by chromosome?
Вы можете только толково сюжет числовых данных, а не строки. Как действительно выглядят x-данные? –
Манхэттенские сюжеты очень распространены в генетике, и они действительно очень разумны - или пусть говорят: информативные - для генетиков. X-data - это просто имена (да, строки) SNP-имен. (Может быть, я должен был бы назвать SNP x-data, а не гены в этом примере.) –
Я не сказал, что thazt Манхэттенские сюжеты неразумны, я сказал, что это неправдоподобно значимо строить строки против числовых данных. Вы должны каким-то образом преобразовать свои имена в числа или просто использовать свой индекс. Я приведу небольшой пример использования искусственных данных в качестве ответа ниже. –