दुर्भाग्य से, मुझे स्वयं कोई समाधान नहीं मिला है। मैं पाइथन के अंदर Manhattan plot कैसे बना सकता हूं, उदाहरण के लिए, matplotlib/pandas। समस्या यह है कि इन भूखंडों में एक्स-अक्ष अलग है।पायथन में matplotlib के साथ मैनहट्टन साजिश कैसे बनाएँ?
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?
आप केवल समझदारी से संख्यात्मक डेटा, नहीं तार प्लॉट कर सकते हैं। एक्स-डेटा वास्तव में कैसा दिखता है? –
मैनहट्टन भूखंड आनुवंशिकी में बहुत आम हैं और वे वास्तव में काफी समझदार हैं - या 'जेनेटिकिस्ट्स के लिए जानकारीपूर्ण' कहें। एक्स-डेटा एसएनपी-नामों के नाम (हां, तार) हैं। (शायद मुझे उदाहरण में जीन की बजाय एक्स-डेटा एसएनपी कहा जाना चाहिए था।) –
मैंने यह नहीं कहा था कि मैनहट्टन प्लॉट समझदार नहीं हैं, मैंने कहा कि यह अर्थपूर्ण रूप से स्ट्रिंग बनाम संख्यात्मक डेटा प्लॉट करने के लिए आंशिक रूप से असंभव है। आपको किसी भी तरह से अपने नामों को संख्याओं में परिवर्तित करना होगा, या बस अपनी अनुक्रमणिका का उपयोग करना होगा। मैं नीचे दिए गए उत्तर के रूप में कलात्मक डेटा का उपयोग करके एक छोटा सा उदाहरण प्रदान करूंगा। –