2013-02-22 9 views

Antwort

8

sollte den Trick tun.

Demo:

def func(): 
    """ 
    I am a function who doesn't do anything, 
    I just sit in your namespace and crowd it up. 
    If you call me expecting anything 
    I'll just return to you the singleton None 
    """ 
    pass 

help(func) 
+0

Also importiere ich pyplot als plt. Ich möchte die Position meiner Plots anpassen. Wenn ich help (pl.set_position) oder help (set_position) eingebe, erhalte ich eine Fehlermeldung. – lord12

+0

@ lord12 - Das liegt daran, dass 'plt.set_position' nicht existiert ... Sie müssen zuerst wissen, wo Sie Ihre Funktion finden. – mgilson

+1

Vorschläge für eine Möglichkeit zum besseren Schreiben der letzten Zeile des Docstrings akzeptieren --- http://www.youtube.com/watch?v=XaWU1CmrJNc – mgilson

2

In ipython seine Supereasy - nur anhängen ? (oder ?? für erweiterten Informationen mit Quellcode) für die Funktion in Frage.

ich es immer verwenden, wenn interaktiv in matplotlib arbeiten:

In [2]: from matplotlib.axes import Axes 

In [3]: Axes.set_position?? 
Type:  instancemethod 
String Form:<unbound method Axes.set_position> 
File:  /home/tzelleke/.local/modules/active_python_2.7/lib/python2.7/site-packages/matplotlib/axes.py 
Definition: Axes.set_position(self, pos, which='both') 
Source: 
    def set_position(self, pos, which='both'): 
     """ 
     Set the axes position with:: 

      pos = [left, bottom, width, height] 

     in relative 0,1 coords, or *pos* can be a 
     :class:`~matplotlib.transforms.Bbox` 

     There are two position variables: one which is ultimately 
     used, but which may be modified by :meth:`apply_aspect`, and a 
     second which is the starting point for :meth:`apply_aspect`. 


     Optional keyword arguments: 
      *which* 

      ========== ==================== 
      value  description 
      ========== ==================== 
      'active'  to change the first 
      'original' to change the second 
      'both'  to change both 
      ========== ==================== 

     """ 
     if not isinstance(pos, mtransforms.BboxBase): 
      pos = mtransforms.Bbox.from_bounds(*pos) 
     if which in ('both', 'active'): 
      self._position.set(pos) 
     if which in ('both', 'original'): 
      self._originalPosition.set(pos) 

In [4]: 
3

Versuchen in ipython ausgeführt wird, in diesem Fall können Sie eingeben:

In [1]: from matplotlib import pyplot as pl 

In [2]: pl.set_position? 
Object `pl.set_position` not found. 

Hier haben Sie google verwenden, um herauszufinden, dass set_position eine Methode der Axes Klasse ist:

In [3]: pl.Axes.set_position? 
Type:  instancemethod 
String Form:<unbound method Axes.set_position> 
File:  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes.py 
Definition: pl.Axes.set_position(self, pos, which='both') 
Docstring: 
Set the axes position with:: 

    pos = [left, bottom, width, height] 

in relative 0,1 coords, or *pos* can be a 
:class:`~matplotlib.transforms.Bbox` 

There are two position variables: one which is ultimately 
used, but which may be modified by :meth:`apply_aspect`, and a 
second which is the starting point for :meth:`apply_aspect`. 


Optional keyword arguments: 
    *which* 

    ========== ==================== 
    value  description 
    ========== ==================== 
    'active'  to change the first 
    'original' to change the second 
    'both'  to change both 
    ========== ==================== 
Verwandte Themen