2013-04-02 4 views
6

मान लीजिए कि मेरे पास एक साजिश कार्य है जो धुरी तर्क लेता है (या एक देता है)। क्या पूरे साजिश को स्थानांतरित करने के लिए कुछ निम्न-स्तरीय विधि है ताकि एक्स-अक्ष वाई-अक्ष बन जाए और इसके विपरीत? या साजिश से पहले धुरी भी ताकि साजिश कार्य अक्षरों के कार्यों पर भरोसा करके सब ठीक से (लेबलिंग) कर सके?पायथन matplotlib: कुल्हाड़ियों को स्थानांतरित करने का तरीका

मुझे पता है कि यह "मैन्युअल रूप से" कैसे करें, लेकिन मुझे आश्चर्य है कि अगर थोड़ा सा छुपा स्तर है जो इस तरह के परिवर्तन की अनुमति देता है।

+1

कलाकारों किस तरह आप अपने अक्ष पर है? – tacaswell

+1

अच्छा सवाल, मुझे लगता है कि मैं विशिष्ट हो सकता हूं और उल्लेख कर सकता हूं कि मैं पांडा सीरीज (और डेटाफ्रेम) ऑब्जेक्ट्स (dataframe.plot() ...) से जुड़े gfx प्लॉट फ़ंक्शन के बारे में सोच रहा हूं। मैं कोड की समीक्षा करूंगा और बाद में अधिक विशिष्ट जानकारी प्राप्त करने का प्रयास करूंगा यदि आप पैनाडास प्लॉट फ़ंक्शन से परिचित नहीं हैं। – mathtick

+0

जो चीज मुझे इस बारे में चिंतित करती है वह यह है कि बहुत कम बिट्स और टुकड़े हैं जिन्हें अलग से स्विच करने की आवश्यकता होगी और कोई समाधान वास्तव में भंगुर हो जाएगा। – tacaswell

उत्तर

6

जॉन हंटर से मेलिंग सूची में old post (लगभग 2005)। मुझे संदेह है कि यह एक दुर्लभ इच्छा है और ऐसा करने के लिए काफी मुश्किल है कि इसे तब समझ में नहीं आया है। एक मौजूदा भूखंड पर कुल्हाड़ियों की अदला-बदली के लिए

जॉन हंटर की मिसाल

line2d = plot(rand(10))[0] 

def swap(xdata, ydata): 
    line2d.set_xdata(ydata) 
    line2d.set_ydata(xdata) 
    draw() 

swap(line2d.get_xdata(), line2d.get_ydata()) 
0
tcaswell के जवाब के लिए एक चादर की तुलना में अधिक नहीं

था।

def swap(*line_list): 
    """ 
    Example 
    ------- 
    line = plot(linspace(0, 2, 10), rand(10)) 
    swap(line) 
    """ 
    for lines in line_list: 
     try: 
      iter(lines) 
     except: 
      lines = [lines] 

     for line in lines: 
      xdata, ydata = line.get_xdata(), line.get_ydata() 
      line.set_xdata(ydata) 
      line.set_ydata(xdata) 
      line.axes.autoscale_view() 

एक उदाहरण

line = plot(linspace(0, 2, 10), rand(10)) 
swap(line) 
संबंधित मुद्दे