Show More
@@ -24,7 +24,7 b' import struct' | |||||
24 |
|
24 | |||
25 | from IPython.utils.py3compat import (string_types, cast_bytes_py2, cast_unicode, |
|
25 | from IPython.utils.py3compat import (string_types, cast_bytes_py2, cast_unicode, | |
26 | unicode_type) |
|
26 | unicode_type) | |
27 |
|
27 | from IPython.testing.skipdoctest import skip_doctest | ||
28 | from .displaypub import publish_display_data |
|
28 | from .displaypub import publish_display_data | |
29 |
|
29 | |||
30 | #----------------------------------------------------------------------------- |
|
30 | #----------------------------------------------------------------------------- | |
@@ -719,18 +719,53 b' def clear_output(wait=False):' | |||||
719 | io.stderr.flush() |
|
719 | io.stderr.flush() | |
720 |
|
720 | |||
721 |
|
721 | |||
722 | def select_matplotlib_formats(formats, quality=90): |
|
722 | @skip_doctest | |
723 | """Select figure formats for the inline backend. |
|
723 | def set_matplotlib_formats(*formats, **kwargs): | |
|
724 | """Select figure formats for the inline backend. Optionally pass quality for JPEG. | |||
|
725 | ||||
|
726 | For example, this enables PNG and JPEG output with a JPEG quality of 90%:: | |||
|
727 | ||||
|
728 | In [1]: set_matplotlib_formats('png', 'jpeg', quality=90) | |||
|
729 | ||||
|
730 | To set this in your config files use the following:: | |||
|
731 | ||||
|
732 | c.InlineBackend.figure_formats = {'pdf', 'png', 'svg'} | |||
724 |
|
733 | |||
725 | Parameters |
|
734 | Parameters | |
726 | ========== |
|
735 | ---------- | |
727 | formats : list |
|
736 | *formats : list, tuple | |
728 | One or a set of figure formats to enable: 'png', 'retina', 'jpeg', 'svg', 'pdf'. |
|
737 | One or a set of figure formats to enable: 'png', 'retina', 'jpeg', 'svg', 'pdf'. | |
729 | quality : int |
|
738 | quality : int | |
730 | A percentage for the quality of JPEG figures. |
|
739 | A percentage for the quality of JPEG figures. Defaults to 90. | |
731 | """ |
|
740 | """ | |
732 | from IPython.core.interactiveshell import InteractiveShell |
|
741 | from IPython.core.interactiveshell import InteractiveShell | |
733 | from IPython.core.pylabtools import select_figure_formats |
|
742 | from IPython.core.pylabtools import select_figure_formats | |
734 | shell = InteractiveShell.instance() |
|
743 | shell = InteractiveShell.instance() | |
735 | select_figure_formats(shell, formats, quality=90) |
|
744 | select_figure_formats(shell, formats, quality=90) | |
736 |
|
745 | |||
|
746 | @skip_doctest | |||
|
747 | def set_matplotlib_close(close): | |||
|
748 | """Should the inline backend close all figures automatically. | |||
|
749 | ||||
|
750 | By default, the inline backend used in the IPython Notebook will close all | |||
|
751 | matplotlib figures automatically after each cell is run. This means that | |||
|
752 | plots in different cells won't interfere. Sometimes, you may want to make | |||
|
753 | a plot in one cell and then refine it in later cells. This can be accomplished | |||
|
754 | by:: | |||
|
755 | ||||
|
756 | In [1]: set_matplotlib_close(False) | |||
|
757 | ||||
|
758 | To set this in your config files use the following:: | |||
|
759 | ||||
|
760 | c.InlineBackend.close_figures = False | |||
|
761 | ||||
|
762 | Parameters | |||
|
763 | ---------- | |||
|
764 | close : bool | |||
|
765 | Should all matplotlib figures be automatically closed after each cell is | |||
|
766 | run? | |||
|
767 | """ | |||
|
768 | from IPython.kernel.zmq.pylab.backend_inline import InlineBackend | |||
|
769 | ilbe = InlineBackend.instance() | |||
|
770 | ilbe.close_figures = close | |||
|
771 |
@@ -47,28 +47,32 b' class PylabMagics(Magics):' | |||||
47 | """Set up matplotlib to work interactively. |
|
47 | """Set up matplotlib to work interactively. | |
48 |
|
48 | |||
49 | This function lets you activate matplotlib interactive support |
|
49 | This function lets you activate matplotlib interactive support | |
50 | at any point during an IPython session. |
|
50 | at any point during an IPython session. It does not import anything | |
51 |
|
|
51 | into the interactive namespace. | |
52 |
|
52 | |||
53 |
If you are using the inline matplotlib backend |
|
53 | If you are using the inline matplotlib backend in the IPython Notebook | |
54 | you can adjust its behavior via the %config magic:: |
|
54 | you can set which figure formats are enabled using the following:: | |
55 |
|
55 | |||
56 | # enable SVG figures, necessary for SVG+XHTML export in the qtconsole |
|
56 | In [1]: from IPython.display import set_matplotlib_formats | |
57 | In [1]: %config InlineBackend.figure_format = 'svg' |
|
57 | ||
|
58 | In [2]: set_matplotlib_formats('pdf', 'svg') | |||
58 |
|
59 | |||
59 | # change the behavior of closing all figures at the end of each |
|
60 | See the docstring of `IPython.display.set_matplotlib_formats` and | |
60 | # execution (cell), or allowing reuse of active figures across |
|
61 | `IPython.display.set_matplotlib_close` for more information on | |
61 | # cells: |
|
62 | changing the behavior of the inline backend. | |
62 | In [2]: %config InlineBackend.close_figures = False |
|
|||
63 |
|
63 | |||
64 | Examples |
|
64 | Examples | |
65 | -------- |
|
65 | -------- | |
66 | In this case, where the MPL default is TkAgg:: |
|
66 | To enable the inline backend for usage with the IPython Notebook:: | |
|
67 | ||||
|
68 | In [1]: %matplotlib inline | |||
|
69 | ||||
|
70 | In this case, where the matplotlib default is TkAgg:: | |||
67 |
|
71 | |||
68 | In [2]: %matplotlib |
|
72 | In [2]: %matplotlib | |
69 | Using matplotlib backend: TkAgg |
|
73 | Using matplotlib backend: TkAgg | |
70 |
|
74 | |||
71 | But you can explicitly request a different backend:: |
|
75 | But you can explicitly request a different GUI backend:: | |
72 |
|
76 | |||
73 | In [3]: %matplotlib qt |
|
77 | In [3]: %matplotlib qt | |
74 | """ |
|
78 | """ |
General Comments 0
You need to be logged in to leave comments.
Login now