##// END OF EJS Templates
update pylab_import_all help string
update pylab_import_all help string

File last commit:

r11324:eac838e3
r11327:ff37f5b0
Show More
pylab.py
109 lines | 4.1 KiB | text/x-python | PythonLexer
Fernando Perez
Create core.magics.pylab according to new API.
r6968 """Implementation of magic functions for matplotlib/pylab support.
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2012 The IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
# Our own packages
from IPython.config.application import Application
MinRK
add `%pylab --no-import`...
r11324 from IPython.core import magic_arguments
Fernando Perez
Renamed @register_magics to @magics_class to avoid confusion....
r6973 from IPython.core.magic import Magics, magics_class, line_magic
Fernando Perez
Create core.magics.pylab according to new API.
r6968 from IPython.testing.skipdoctest import skip_doctest
#-----------------------------------------------------------------------------
# Magic implementation classes
#-----------------------------------------------------------------------------
Fernando Perez
Renamed @register_magics to @magics_class to avoid confusion....
r6973 @magics_class
Fernando Perez
Create core.magics.pylab according to new API.
r6968 class PylabMagics(Magics):
"""Magics related to matplotlib's pylab support"""
@skip_doctest
@line_magic
MinRK
add `%pylab --no-import`...
r11324 @magic_arguments.magic_arguments()
@magic_arguments.argument(
'--no-import', action='store_true', default=None,
help="""Prevent IPython from populating the namespace"""
)
@magic_arguments.argument(
'gui', nargs='?',
help="""Name of the matplotlib backend to use
('qt', 'wx', 'gtk', 'osx', 'tk', 'inline', 'auto').
If given, the corresponding matplotlib backend is used,
otherwise it will be matplotlib's default
(which you can set in your matplotlib config file).
"""
)
def pylab(self, line=''):
Fernando Perez
Create core.magics.pylab according to new API.
r6968 """Load numpy and matplotlib to work interactively.
%pylab [GUINAME]
This function lets you activate pylab (matplotlib, numpy and
interactive support) at any point during an IPython session.
It will import at the top level numpy as np, pyplot as plt, matplotlib,
pylab and mlab, as well as all names from numpy and pylab.
If you are using the inline matplotlib backend for embedded figures,
you can adjust its behavior via the %config magic::
# enable SVG figures, necessary for SVG+XHTML export in the qtconsole
In [1]: %config InlineBackend.figure_format = 'svg'
# change the behavior of closing all figures at the end of each
# execution (cell), or allowing reuse of active figures across
# cells:
In [2]: %config InlineBackend.close_figures = False
Parameters
----------
guiname : optional
One of the valid arguments to the %gui magic ('qt', 'wx', 'gtk',
'osx' or 'tk'). If given, the corresponding Matplotlib backend is
used, otherwise matplotlib's default (which you can override in your
matplotlib config file) is used.
Examples
--------
In this case, where the MPL default is TkAgg::
In [2]: %pylab
Welcome to pylab, a matplotlib-based Python environment.
Backend in use: TkAgg
For more information, type 'help(pylab)'.
But you can explicitly request a different backend::
In [3]: %pylab qt
Welcome to pylab, a matplotlib-based Python environment.
Backend in use: Qt4Agg
For more information, type 'help(pylab)'.
"""
MinRK
add `%pylab --no-import`...
r11324 args = magic_arguments.parse_argstring(self.pylab, line)
if args.no_import is None:
# get default from Application
if Application.initialized():
app = Application.instance()
try:
import_all = app.pylab_import_all
except AttributeError:
import_all = True
else:
# nothing specified, no app - default True
import_all = True
Fernando Perez
Create core.magics.pylab according to new API.
r6968 else:
MinRK
add `%pylab --no-import`...
r11324 # invert no-import flag
import_all = not args.no_import
Fernando Perez
Create core.magics.pylab according to new API.
r6968
MinRK
add `%pylab --no-import`...
r11324 self.shell.enable_pylab(args.gui, import_all=import_all, welcome_message=True)