diff --git a/doc/conf.py b/doc/conf.py index 7c51f2309288..954423aaf468 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -45,6 +45,7 @@ 'sphinxext.custom_roles', 'sphinxext.github', 'sphinxext.math_symbol_table', + 'sphinxext.missing_references', 'sphinxext.mock_gui_toolkits', 'sphinxext.skip_deprecated', 'sphinx_copybutton', @@ -99,6 +100,8 @@ def _check_dependencies(): else: autodoc_default_options = {'members': None, 'undoc-members': None} +nitpicky = True + intersphinx_mapping = { 'python': ('https://docs.python.org/3', None), 'numpy': ('https://docs.scipy.org/doc/numpy/', None), diff --git a/doc/missing-references.json b/doc/missing-references.json new file mode 100644 index 000000000000..de3ff941fabf --- /dev/null +++ b/doc/missing-references.json @@ -0,0 +1,5369 @@ +{ + "py:obj": { + "MovieWriterBase": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.AVConvBase:4", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FFMpegBase:4", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickBase:4" + ], + "matplotlib.animation.AVConvBase.output_args": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.AVConvBase.args_key:1::1" + ], + "matplotlib.animation.AVConvFileWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.finish": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.grab_frame": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.setup": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:28::1" + ], + "matplotlib.animation.AVConvFileWriter.args_key": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:38::1" + ], + "matplotlib.animation.AVConvFileWriter.exec_key": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:38::1" + ], + "matplotlib.animation.AVConvFileWriter.frame_format": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:38::1" + ], + "matplotlib.animation.AVConvFileWriter.frame_size": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:38::1" + ], + "matplotlib.animation.AVConvFileWriter.output_args": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:38::1" + ], + "matplotlib.animation.AVConvFileWriter.supported_formats": [ + "doc/api/_as_gen/matplotlib.animation.AVConvFileWriter.rst:38::1" + ], + "matplotlib.animation.AVConvWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.finish": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.grab_frame": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.setup": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:28::1" + ], + "matplotlib.animation.AVConvWriter.args_key": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:36::1" + ], + "matplotlib.animation.AVConvWriter.exec_key": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:36::1" + ], + "matplotlib.animation.AVConvWriter.frame_size": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:36::1" + ], + "matplotlib.animation.AVConvWriter.output_args": [ + "doc/api/_as_gen/matplotlib.animation.AVConvWriter.rst:36::1" + ], + "savefig": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:282", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.AbstractMovieWriter.grab_frame:4", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.Animation.save:52", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FileMovieWriter.grab_frame:2", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.MovieWriter.grab_frame:4", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.PillowWriter.grab_frame:4" + ], + "Artist": [ + "doc/api/animation_api.rst:27::1", + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ArtistAnimation:2", + "lib/matplotlib/text.py:docstring of matplotlib.text.OffsetFrom:28", + "lib/matplotlib/text.py:docstring of matplotlib.text.OffsetFrom:31", + "lib/mpl_toolkits/axisartist/axisline_style.py:docstring of mpl_toolkits.axisartist.axisline_style.AxislineStyle:9" + ], + "matplotlib.animation.ArtistAnimation.new_frame_seq": [ + "doc/api/_as_gen/matplotlib.animation.ArtistAnimation.rst:21::1" + ], + "matplotlib.animation.ArtistAnimation.new_saved_frame_seq": [ + "doc/api/_as_gen/matplotlib.animation.ArtistAnimation.rst:21::1" + ], + "matplotlib.animation.ArtistAnimation.save": [ + "doc/api/_as_gen/matplotlib.animation.ArtistAnimation.rst:21::1" + ], + "matplotlib.animation.ArtistAnimation.to_html5_video": [ + "doc/api/_as_gen/matplotlib.animation.ArtistAnimation.rst:21::1" + ], + "matplotlib.animation.ArtistAnimation.to_jshtml": [ + "doc/api/_as_gen/matplotlib.animation.ArtistAnimation.rst:21::1" + ], + "matplotlib.animation.FFMpegFileWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.finish": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.grab_frame": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.setup": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegFileWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegFileWriter.args_key": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FFMpegFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.FFMpegFileWriter.exec_key": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FFMpegFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.FFMpegFileWriter.frame_format": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FFMpegFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.FFMpegFileWriter.frame_size": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FFMpegFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.FFMpegFileWriter.output_args": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FFMpegFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.FFMpegWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.finish": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.grab_frame": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.setup": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:28::1" + ], + "matplotlib.animation.FFMpegWriter.args_key": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:36::1" + ], + "matplotlib.animation.FFMpegWriter.exec_key": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:36::1" + ], + "matplotlib.animation.FFMpegWriter.frame_size": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:36::1" + ], + "matplotlib.animation.FFMpegWriter.output_args": [ + "doc/api/_as_gen/matplotlib.animation.FFMpegWriter.rst:36::1" + ], + "matplotlib.animation.FileMovieWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.FileMovieWriter.rst:28::1" + ], + "matplotlib.animation.FileMovieWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.FileMovieWriter.rst:28::1" + ], + "matplotlib.animation.FileMovieWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.FileMovieWriter.rst:28::1" + ], + "matplotlib.animation.FileMovieWriter.frame_size": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FileMovieWriter.cleanup:1::1" + ], + "matplotlib.animation.FuncAnimation.save": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FuncAnimation.new_frame_seq:1::1" + ], + "matplotlib.animation.FuncAnimation.to_html5_video": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FuncAnimation.new_frame_seq:1::1" + ], + "matplotlib.animation.FuncAnimation.to_jshtml": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.FuncAnimation.new_frame_seq:1::1" + ], + "matplotlib.animation.ImageMagickFileWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.finish": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.grab_frame": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.setup": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickFileWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickFileWriter.args_key": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.ImageMagickFileWriter.delay": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.ImageMagickFileWriter.exec_key": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.ImageMagickFileWriter.frame_format": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.ImageMagickFileWriter.frame_size": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.ImageMagickFileWriter.output_args": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.ImageMagickFileWriter.supported_formats:1::1" + ], + "matplotlib.animation.ImageMagickWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.finish": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.grab_frame": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.isAvailable": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.setup": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:28::1" + ], + "matplotlib.animation.ImageMagickWriter.args_key": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:37::1" + ], + "matplotlib.animation.ImageMagickWriter.delay": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:37::1" + ], + "matplotlib.animation.ImageMagickWriter.exec_key": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:37::1" + ], + "matplotlib.animation.ImageMagickWriter.frame_size": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:37::1" + ], + "matplotlib.animation.ImageMagickWriter.output_args": [ + "doc/api/_as_gen/matplotlib.animation.ImageMagickWriter.rst:37::1" + ], + "matplotlib.animation.MovieWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.MovieWriter.rst:28::1" + ], + "matplotlib.animation.PillowWriter.bin_path": [ + "doc/api/_as_gen/matplotlib.animation.PillowWriter.rst:28::1" + ], + "matplotlib.animation.PillowWriter.cleanup": [ + "doc/api/_as_gen/matplotlib.animation.PillowWriter.rst:28::1" + ], + "matplotlib.animation.PillowWriter.saving": [ + "doc/api/_as_gen/matplotlib.animation.PillowWriter.rst:28::1" + ], + "matplotlib.animation.PillowWriter.frame_size": [ + "lib/matplotlib/animation.py:docstring of matplotlib.animation.PillowWriter.finish:1::1" + ], + "matplotlib.animation.TimedAnimation.new_frame_seq": [ + "doc/api/_as_gen/matplotlib.animation.TimedAnimation.rst:21::1" + ], + "matplotlib.animation.TimedAnimation.new_saved_frame_seq": [ + "doc/api/_as_gen/matplotlib.animation.TimedAnimation.rst:21::1" + ], + "matplotlib.animation.TimedAnimation.save": [ + "doc/api/_as_gen/matplotlib.animation.TimedAnimation.rst:21::1" + ], + "matplotlib.animation.TimedAnimation.to_html5_video": [ + "doc/api/_as_gen/matplotlib.animation.TimedAnimation.rst:21::1" + ], + "matplotlib.animation.TimedAnimation.to_jshtml": [ + "doc/api/_as_gen/matplotlib.animation.TimedAnimation.rst:21::1" + ], + "Artists": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:140", + "doc/users/prev_whats_new/whats_new_1.5.rst:22", + "doc/users/prev_whats_new/whats_new_1.5.rst:558", + "doc/users/prev_whats_new/whats_new_1.5.rst:563", + "lib/matplotlib/artist.py:docstring of matplotlib.artist.ArtistInspector.__init__:2", + "lib/matplotlib/artist.py:docstring of matplotlib.artist.ArtistInspector:23", + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.HPacker:44", + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.PackerBase:23", + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.VPacker:44" + ], + "mlab.detrend_none": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.acorr:13", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.xcorr:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.acorr:13", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.xcorr:19" + ], + "AxesBase": [ + "doc/api/axes_api.rst:448::1", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.add_child_axes:2" + ], + "window_hanning": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.angle_spectrum:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.cohere:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.csd:27", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.magnitude_spectrum:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.phase_spectrum:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.psd:25", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.specgram:22", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.angle_spectrum:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.cohere:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.csd:27", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.magnitude_spectrum:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.phase_spectrum:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.psd:25", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.specgram:22" + ], + "window_none": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.angle_spectrum:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.cohere:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.csd:27", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.magnitude_spectrum:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.phase_spectrum:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.psd:25", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.specgram:22", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.angle_spectrum:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.cohere:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.csd:27", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.magnitude_spectrum:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.phase_spectrum:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.psd:25", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.specgram:22" + ], + "range(1, N+1)": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.boxplot:90", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.boxplot:90" + ], + "ClabelText": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.clabel:70", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.clabel:70" + ], + "QuadContourSet.changed()": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.contour:133", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.contourf:133", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.contour:133", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.contourf:133" + ], + "P_{xy}": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.csd:167", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.csd:89", + "lib/matplotlib/mlab.py:docstring of matplotlib.mlab.csd:79", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.csd:167", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.csd:89" + ], + "Lines2D": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.errorbar:103", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.errorbar:103" + ], + "fmt_xdata": [ + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.format_xdata:4" + ], + "fmt_ydata": [ + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.format_ydata:4" + ], + "Legend": [ + "doc/api/axes_api.rst:318::1", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:307", + "doc/api/prev_api_changes/api_changes_2.0.0.rst:70", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.get_legend:2" + ], + "matplotlib.spines.get_window_extent": [ + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.get_window_extent:24" + ], + "Line2D": [ + "doc/api/axes_api.rst:417::1", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:115", + "doc/api/prev_api_changes/api_changes_2.1.0.rst:88", + "doc/devel/MEP/MEP26.rst:141", + "doc/devel/MEP/MEP26.rst:36", + "doc/users/prev_whats_new/whats_new_1.5.rst:321", + "doc/users/prev_whats_new/whats_new_1.5.rst:324", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.get_xgridlines:2", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.get_xticklines:2", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.get_ygridlines:2", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.get_yticklines:2", + "lib/matplotlib/container.py:docstring of matplotlib.container.StemContainer:40" + ], + "PolyCollection.get_offset": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.hexbin:71", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.hexbin:71" + ], + "numpy.max": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.hexbin:124", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.hexbin:124" + ], + "np.histogram": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.hist:80", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.hist:80" + ], + "Normalize": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.imshow:27", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.imshow:27" + ], + "ax.transAxes": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.indicate_inset:19", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.inset_axes:11" + ], + "Patches.Rectangle": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.indicate_inset_zoom:20" + ], + "Patches.ConnectionPatch": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.indicate_inset_zoom:33" + ], + "axes.bbox": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.legend:128", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.legend:92", + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend:87", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figlegend:92", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:128" + ], + "figure.bbox": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.legend:128", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.legend:92", + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend:87", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figlegend:92", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:128" + ], + "bbox_transform": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.legend:133", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.legend:97", + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend:92", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figlegend:97", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:133" + ], + "bbox_to_anchor": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.legend:230", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.legend:235", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.legend:194", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.legend:199", + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend:189", + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend:194", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figlegend:194", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figlegend:199", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:230", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:235" + ], + "handler_map": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.legend:282", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.legend:246", + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend:241", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figlegend:246", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:282" + ], + "pandas.DataFame": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot:39", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:39" + ], + "range(len(y))": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot:79", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:79" + ], + "plot('n', 'o', data=obj)": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot:104", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:104" + ], + "plt(x, y)": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot:104", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:104" + ], + "plt(y, fmt)": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot:104", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:104" + ], + "plot('n', 'o', '', data=obj)": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot:104", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:104" + ], + "tzinfo": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.plot_date:21", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.xaxis_date:21", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.yaxis_date:21", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.DateFormatter:44", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot_date:21" + ], + "P_{xx}": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.psd:87", + "lib/matplotlib/mlab.py:docstring of matplotlib.mlab.psd:76", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.psd:87" + ], + "functions=(lambda x: 2 / x, lambda x: 2 / x)": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.secondary_xaxis:17" + ], + "tricontour(...)": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.tricontour:57", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.tricontourf:57", + "lib/matplotlib/tri/tricontour.py:docstring of matplotlib.axes.Axes.tricontour:57", + "lib/matplotlib/tri/tricontour.py:docstring of matplotlib.axes.Axes.tricontourf:57" + ], + "matplotlib.contour.TriContourSet": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.tricontour:57", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.tricontourf:57", + "lib/matplotlib/tri/tricontour.py:docstring of matplotlib.axes.Axes.tricontour:57", + "lib/matplotlib/tri/tricontour.py:docstring of matplotlib.axes.Axes.tricontourf:57" + ], + "lines.linewidth": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.tricontour:130", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.tricontourf:130", + "lib/matplotlib/tri/tricontour.py:docstring of matplotlib.axes.Axes.tricontour:130", + "lib/matplotlib/tri/tricontour.py:docstring of matplotlib.axes.Axes.tricontourf:130" + ], + "Axes.dataLim": [ + "doc/api/axes_api.rst:299::1", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.update_datalim:2", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.view_init:22" + ], + "Axes.datalim": [ + "doc/api/axes_api.rst:299::1", + "lib/matplotlib/axes/_base.py:docstring of matplotlib.axes.Axes.update_datalim_bounds:2" + ], + "Artist.sticky_edges": [ + "doc/api/axes_api.rst:359::1", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.use_sticky_edges:2" + ], + "kde.factor": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.violinplot:46", + "lib/matplotlib/mlab.py:docstring of matplotlib.mlab.GaussianKDE:12", + "lib/matplotlib/mlab.py:docstring of matplotlib.mlab.GaussianKDE:45", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.violinplot:46" + ], + "GaussianKDE": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes.violinplot:46", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.violinplot:46" + ], + "Text": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1088", + "doc/devel/MEP/MEP14.rst:252", + "doc/devel/MEP/MEP26.rst:141", + "lib/matplotlib/axis.py:docstring of matplotlib.axis.Axis.set_ticklabels:33", + "lib/matplotlib/axis.py:docstring of matplotlib.axis.Axis.set_ticklabels:9", + "lib/matplotlib/axis.py:docstring of matplotlib.axis.XAxis.set_ticklabels:33", + "lib/matplotlib/axis.py:docstring of matplotlib.axis.XAxis.set_ticklabels:9", + "lib/matplotlib/axis.py:docstring of matplotlib.axis.YAxis.set_ticklabels:33", + "lib/matplotlib/axis.py:docstring of matplotlib.axis.YAxis.set_ticklabels:9" + ], + "Axes.set_xlim": [ + "lib/matplotlib/axis.py:docstring of matplotlib.axis.Axis.set_view_interval:2" + ], + "Axes.set_ylim": [ + "lib/matplotlib/axis.py:docstring of matplotlib.axis.Axis.set_view_interval:2" + ], + "cmap='gist_earth'": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors.LightSource.shade:13" + ], + "cmap=plt.get_cmap('gist_earth')": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors.LightSource.shade:13" + ], + "func(rgb, illum, **kwargs)": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors.LightSource.shade:23", + "lib/matplotlib/colors.py:docstring of matplotlib.colors.LightSource.shade_rgb:22" + ], + "elevation": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors.LightSource.shade_rgb:2" + ], + "extend": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors.from_levels_and_colors:13" + ], + "LinearSegmentedColormaps": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors.makeMappingArray:64" + ], + "Figure.subplot": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.axes:2", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.get_axes:5" + ], + "matplotlib.image.Image": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.colorbar:20", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.colorbar:16" + ], + "ScalarMappable": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:97", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:298", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.colorbar:26", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.colorbar:22" + ], + "w_pad, h_pad": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.get_constrained_layout_pads:4" + ], + "wspace": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.get_constrained_layout_pads:4" + ], + "hspace": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.get_constrained_layout_pads:4" + ], + "matplotlib.Figure.set_size_inches": [ + "doc/users/dflt_style_changes.rst:262", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.get_size_inches:20" + ], + "PIL.Image.save": [ + "lib/matplotlib/backends/backend_agg.py:docstring of matplotlib.backends.backend_agg.FigureCanvasAgg.print_jpeg:31", + "lib/matplotlib/backends/backend_agg.py:docstring of matplotlib.backends.backend_agg.FigureCanvasAgg.print_jpg:31", + "lib/matplotlib/backends/backend_agg.py:docstring of matplotlib.backends.backend_agg.FigureCanvasAgg.print_png:42", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.savefig:107", + "lib/matplotlib/image.py:docstring of matplotlib.image.imsave:47", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.imsave:47", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.savefig:107" + ], + "w_pad": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.set_constrained_layout:5" + ], + "h_pad": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.set_constrained_layout:5" + ], + "matplotlib.Figure.get_size_inches": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.set_size_inches:26" + ], + "sharex": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.subplots:13", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.subplots:13" + ], + "sharey": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.subplots:13", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.subplots:13" + ], + "FontProperties": [ + "doc/devel/MEP/MEP14.rst:110", + "doc/users/next_whats_new/2019-05-31-AL.rst:1", + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.suptitle:40", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.suptitle:40" + ], + "a.set_in_layout(False)": [ + "lib/matplotlib/figure.py:docstring of matplotlib.figure.Figure.tight_layout:4" + ], + "every=5": [ + "lib/matplotlib/lines.py:docstring of matplotlib.lines.Line2D.set_markevery:4" + ], + "BoxTransmuterBase": [ + "lib/matplotlib/patches.py:docstring of matplotlib.patches.FancyBboxPatch:5" + ], + "Axes": [ + "doc/api/_as_gen/matplotlib.pyplot.rst:173::1", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:449", + "doc/gallery/animation/animated_histogram.rst:112", + "doc/gallery/statistics/errorbars_and_boxes.rst:21", + "doc/users/prev_whats_new/whats_new_1.5.rst:514", + "lib/matplotlib/colorbar.py:docstring of matplotlib.colorbar.ColorbarBase:38", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.delaxes:2", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plotting:33" + ], + "Axes.vlines": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.acorr:21", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.xcorr:27" + ], + "Axes.axhline": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.acorr:21", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.xcorr:27" + ], + "Axes.plot": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.acorr:25", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.xcorr:31", + "lib/matplotlib/testing/decorators.py:docstring of matplotlib.testing.decorators.check_figures_equal:31" + ], + "autoscale_view": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.autoscale:19", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.plot:121" + ], + "number": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.figure:8" + ], + "Image": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:274", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:277", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.gci:4" + ], + "Axes.legend": [ + "doc/api/prev_api_changes/api_changes_2.1.2.rst:14", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.legend:31" + ], + "Axes.pcolormesh": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.pcolormesh:12" + ], + "Axes.pcolor": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.pcolormesh:12" + ], + "Axes.set_aspect": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.pie:99" + ], + "matplotlib.style.core.STYLE_BLACKLIST": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:298", + "lib/matplotlib/__init__.py:docstring of matplotlib.rc_file:4", + "lib/matplotlib/__init__.py:docstring of matplotlib.rc_file_defaults:4", + "lib/matplotlib/__init__.py:docstring of matplotlib.rcdefaults:4", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.rcdefaults:4" + ], + "rc_file_defaults": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:295", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:298", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.rcdefaults:18" + ], + "matplotib.colors.Colormap": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.set_cmap:15" + ], + "Axes.fill_between()": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.stackplot:36" + ], + "Figure": [ + "doc/devel/testing.rst:161", + "doc/faq/howto_faq.rst:647", + "doc/users/prev_whats_new/whats_new_1.5.rst:22", + "doc/users/prev_whats_new/whats_new_2.2.rst:70", + "lib/matplotlib/backend_managers.py:docstring of matplotlib.backend_managers.ToolManager:21", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.SetCursorBase.set_figure:21", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolBase.set_figure:21", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolCursorPosition.set_figure:21", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolToggleBase.set_figure:21", + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.subplot2grid:22" + ], + "add_subplot": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.subplot2grid:25" + ], + "quiverkey": [ + "lib/matplotlib/quiver.py:docstring of matplotlib.quiver.Quiver:242" + ], + "set_contains": [ + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend.contains:29", + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.AnnotationBbox.contains:29", + "lib/matplotlib/quiver.py:docstring of matplotlib.quiver.QuiverKey.contains:29", + "lib/matplotlib/table.py:docstring of matplotlib.table.Table.contains:29" + ], + "get_contains": [ + "lib/matplotlib/legend.py:docstring of matplotlib.legend.Legend.contains:29", + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.AnnotationBbox.contains:29", + "lib/matplotlib/quiver.py:docstring of matplotlib.quiver.QuiverKey.contains:29", + "lib/matplotlib/table.py:docstring of matplotlib.table.Table.contains:29" + ], + "matplotlib.text.TextPath": [ + "lib/mpl_toolkits/axes_grid1/anchored_artists.py:docstring of mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows:145" + ], + "size_vertical": [ + "lib/mpl_toolkits/axes_grid1/anchored_artists.py:docstring of mpl_toolkits.axes_grid1.anchored_artists.AnchoredSizeBar:64" + ], + "mpl_toolkits.axes_grid.axes_divider.AxesLocator": [ + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.HBoxDivider.new_locator:2", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.VBoxDivider.new_locator:2" + ], + "Size.from_any": [ + "lib/mpl_toolkits/axes_grid1/axes_grid.py:docstring of mpl_toolkits.axes_grid1.axes_grid.ImageGrid:73", + "lib/mpl_toolkits/axisartist/axes_grid.py:docstring of mpl_toolkits.axisartist.axes_grid.ImageGrid:48" + ], + "get_size": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:223", + "lib/mpl_toolkits/axes_grid1/axes_size.py:docstring of mpl_toolkits.axes_grid1.axes_size:1" + ], + "axes_class": [ + "lib/mpl_toolkits/axes_grid1/inset_locator.py:docstring of mpl_toolkits.axes_grid1.inset_locator.inset_axes:146", + "lib/mpl_toolkits/axes_grid1/inset_locator.py:docstring of mpl_toolkits.axes_grid1.inset_locator.zoomed_inset_axes:138" + ], + "pyplot.gcf()": [ + "lib/mpl_toolkits/axes_grid1/parasite_axes.py:docstring of mpl_toolkits.axes_grid1.parasite_axes.host_axes:8", + "lib/mpl_toolkits/axes_grid1/parasite_axes.py:docstring of mpl_toolkits.axes_grid1.parasite_axes.host_subplot:8" + ], + "mpl_toolkits.axislines.Axes": [ + "lib/mpl_toolkits/axisartist/axis_artist.py:docstring of mpl_toolkits.axisartist.axis_artist:26" + ], + "Artist.get_window_extent": [ + "lib/matplotlib/collections.py:docstring of matplotlib.collections.AsteriskPolygonCollection.get_tightbbox:2", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.BrokenBarHCollection.get_tightbbox:2", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.CircleCollection.get_tightbbox:2", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.Collection.get_tightbbox:2", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.EllipseCollection.get_tightbbox:2", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.EventCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.LineCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PatchCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PathCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PolyCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.QuadMesh.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.RegularPolyCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.StarPolygonCollection.get_transform:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.TriMesh.get_transform:1", + "lib/mpl_toolkits/axisartist/axis_artist.py:docstring of mpl_toolkits.axisartist.axis_artist.AxisArtist.get_tightbbox:2", + "lib/mpl_toolkits/mplot3d/art3d.py:docstring of mpl_toolkits.mplot3d.art3d.Text3D.get_tightbbox:2" + ], + "BBox": [ + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes:26", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes:30", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.AsteriskPolygonCollection.get_tightbbox:26", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.BrokenBarHCollection.get_tightbbox:26", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.CircleCollection.get_tightbbox:26", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.Collection.get_tightbbox:26", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.EllipseCollection.get_tightbbox:26", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.EventCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.LineCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PatchCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PathCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PolyCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.QuadMesh.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.RegularPolyCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.StarPolygonCollection.get_transformed_clip_path_and_affine:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.TriMesh.get_transformed_clip_path_and_affine:1", + "lib/mpl_toolkits/axisartist/axis_artist.py:docstring of mpl_toolkits.axisartist.axis_artist.AxisArtist.get_tightbbox:26", + "lib/mpl_toolkits/mplot3d/art3d.py:docstring of mpl_toolkits.mplot3d.art3d.Text3D.get_tightbbox:26" + ], + "Bbox": [ + "lib/matplotlib/text.py:docstring of matplotlib.text.Annotation.get_window_extent:2", + "lib/matplotlib/text.py:docstring of matplotlib.text.Text.get_window_extent:2", + "lib/mpl_toolkits/axisartist/axis_artist.py:docstring of mpl_toolkits.axisartist.axis_artist.AxisLabel.get_window_extent:2", + "lib/mpl_toolkits/axisartist/axis_artist.py:docstring of mpl_toolkits.axisartist.axis_artist.LabelBase.get_window_extent:2" + ], + "set_xbound": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim3d:22", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim:22" + ], + "get_xbound": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim3d:22", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim:22" + ], + "invert_xaxis": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim3d:24", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim:24" + ], + "xaxis_inverted": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim3d:24", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_xlim:24" + ], + "set_ybound": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim3d:22", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim:22" + ], + "get_ybound": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim3d:22", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim:22" + ], + "invert_yaxis": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim3d:24", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim:24" + ], + "yaxis_inverted": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim3d:24", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.get_ylim:24" + ], + "cmap": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.Axes3D.plot_surface:50", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.plot_surface:50" + ], + "shade": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.Axes3D.plot_surface:54", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.plot_surface:54" + ], + "zdir": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.Axes3D.text:2", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.text2D:32", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.tick_params:32" + ], + "filled": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.voxels:73" + ], + "Poly3DCollection": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.w_yaxis:4" + ], + "MovieWriter.saving": [ + "doc/api/animation_api.rst:213" + ], + "PathCollection.get_offsets": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:30" + ], + "PathCollection": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:30" + ], + "PathCollection.get_array": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:30" + ], + "LogLocator": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:207", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:59" + ], + "AutoLocator": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:59" + ], + "Axis.remove_overlaping_locs": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:79" + ], + "TextPath": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:127" + ], + "backend_bases.Timer.remove_callback": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:247" + ], + "backend_bases.Timer.remove_callback(func, *args,\n**kwargs)": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:250" + ], + "backend_bases.Timer.add_callback(func, *args, **kwargs)": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:250" + ], + "backend_bases.Timer.add_callback": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:267" + ], + "collections.StemContainer": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:273", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:276" + ], + "Axes.stem": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:276" + ], + "collections.LineCollection.get_segements()": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:288" + ], + "matplotlib.colorbar.ColorbarBase.set_norm": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:298" + ], + "matplotlib.colorbar.ColorbarBase.set_cmap": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:298" + ], + "matplotlib.colorbar.ColorbarBase.set_clim": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:298" + ], + "Installing": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:319" + ], + "Axes.spy(..., origin='lower')": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:367" + ], + "str()": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:386" + ], + "Axes.fmt_xdata": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:405", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:408" + ], + "Axes.fmt_ydata": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:405", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:408" + ], + "Tick": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:65", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:414", + "doc/users/prev_whats_new/whats_new_2.1.0.rst:409", + "doc/users/prev_whats_new/whats_new_2.2.rst:244" + ], + "streamplot.Grid": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:487" + ], + "legend.Legend.set_draggable()": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:507" + ], + "scipy.stats.norm.pdf": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:573", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:659" + ], + "matplotlib.pylab": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:626" + ], + "ImageComparisonTest": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:710" + ], + "mathcircled": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:737" + ], + "cbook.deprecated": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1080", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:774" + ], + "cbook.warn_deprecated": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:774" + ], + "matplotlib.testing.compare.calculate_rms": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:779" + ], + "Axes.hist2d": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:798" + ], + "Annotation": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102", + "doc/api/prev_api_changes/api_changes_1.4.x.rst:113", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:799" + ], + "Axes.annotation": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:799" + ], + "bezier.find_bezier_t_intersecting_with_closedpath": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:801" + ], + "bezier.split_bezier_intersecting_with_closedpath": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:801" + ], + "bezier.find_r_to_boundary_of_closedpath": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1025", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:801" + ], + "bezier.split_path_inout": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:801" + ], + "bezier.check_if_parallel": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:801" + ], + "spine.Spine.is_frame_like": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:823" + ], + "axis.Axis.get_ticks_position": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:829" + ], + "mpl_toolkits.Axes.AxisDict": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:835" + ], + "checkdep_dvipng": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:840" + ], + "checkdep_ghostscript": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:841" + ], + "checkdep_pdftops": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:842" + ], + "checkdep_inkscape": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:843" + ], + "ticker.decade_up": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:846" + ], + "ticker.decade_down": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:847" + ], + "docstring.Appender": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:851" + ], + "docstring.dedent": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:852" + ], + "docstring.copy_dedent": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:853" + ], + "matplotlib.pyplot.get_scale_docs()": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:861" + ], + "backend_ps.PsBackendHelper`": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:868" + ], + "backend_ps.ps_backend_helper`": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:869" + ], + "dates.strpdate2num": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:926" + ], + "dates.bytespdate2num": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:927" + ], + "axes3d.Axes3D.xaxis": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:941" + ], + "axes3d.Axes3D.and `.axes3d.Axes3D.zaxis": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:941" + ], + "pytest.mark.backend(...)": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:948" + ], + "matplotlib.testing.conftest.mpl_test_settings": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:948" + ], + "Quiver": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:37", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:954" + ], + "Collection": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:956", + "doc/users/prev_whats_new/whats_new_1.5.rst:321", + "doc/users/prev_whats_new/whats_new_2.2.rst:198", + "doc/users/prev_whats_new/whats_new_2.2.rst:201" + ], + "get_py2exe_datafiles`": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:963" + ], + "tk_window_focus`": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:964" + ], + "backend_gtk3.FileChooserDialog": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:965" + ], + "backend_gtk3.NavigationToolbar2GTK3.get_filechooser": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:966" + ], + "backend_gtk3.SaveFigureGTK3.get_filechooser": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:967" + ], + "NavigationToolbar2QT.adj_window": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:968" + ], + "backend_wx.IDLE_DELAY": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:969" + ], + "LogTransform": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1000" + ], + "InvertedLogTransform": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1000" + ], + "NavigationToolbar2QT.buttons": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1040" + ], + "Axis.iter_ticks": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1071" + ], + "Axis._update_ticks": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1073" + ], + "Formatter.__call__": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1122", + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1128" + ], + "ticker..MaxNLocator": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1155" + ], + "GraphicsContextBase": [ + "lib/matplotlib/backends/backend_agg.py:docstring of matplotlib.backends.backend_agg.RendererAgg.draw_text:8", + "lib/matplotlib/backends/backend_cairo.py:docstring of matplotlib.backends.backend_cairo.RendererCairo.draw_image:8", + "lib/matplotlib/backends/backend_cairo.py:docstring of matplotlib.backends.backend_cairo.RendererCairo.draw_markers:16", + "lib/matplotlib/backends/backend_cairo.py:docstring of matplotlib.backends.backend_cairo.RendererCairo.draw_text:8", + "lib/matplotlib/backends/backend_cairo.py:docstring of matplotlib.backends.backend_cairo.RendererCairo.new_gc:2", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.RendererPdf.draw_image:8", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.RendererPdf.draw_markers:16", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.RendererPdf.draw_text:8", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.RendererPdf.new_gc:2", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.RendererPgf.draw_image:8", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.RendererPgf.draw_markers:16", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.RendererPgf.draw_text:8", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.RendererPgf.new_gc:2", + "lib/matplotlib/backends/backend_ps.py:docstring of matplotlib.backends.backend_ps.RendererPS.draw_image:8", + "lib/matplotlib/backends/backend_ps.py:docstring of matplotlib.backends.backend_ps.RendererPS.draw_markers:16", + "lib/matplotlib/backends/backend_ps.py:docstring of matplotlib.backends.backend_ps.RendererPS.draw_text:8", + "lib/matplotlib/backends/backend_ps.py:docstring of matplotlib.backends.backend_ps.RendererPS.new_gc:2", + "lib/matplotlib/backends/backend_svg.py:docstring of matplotlib.backends.backend_svg.RendererSVG.draw_image:8", + "lib/matplotlib/backends/backend_svg.py:docstring of matplotlib.backends.backend_svg.RendererSVG.draw_markers:16", + "lib/matplotlib/backends/backend_svg.py:docstring of matplotlib.backends.backend_svg.RendererSVG.draw_text:8", + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template.RendererTemplate.draw_image:8", + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template.RendererTemplate.draw_text:8", + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template.RendererTemplate.new_gc:2", + "lib/matplotlib/patheffects.py:docstring of matplotlib.patheffects.PathEffectRenderer.draw_markers:16" + ], + "ginput": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.FigureCanvasBase.start_event_loop:4", + "lib/matplotlib/blocking_input.py:docstring of matplotlib.blocking_input:13" + ], + "waitforbuttonpress": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.FigureCanvasBase.start_event_loop:4", + "lib/matplotlib/blocking_input.py:docstring of matplotlib.blocking_input:9" + ], + "Path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:134", + "doc/api/prev_api_changes/api_changes_1.3.x.rst:147", + "doc/gallery/animation/animated_histogram.rst:112", + "doc/gallery/text_labels_and_annotations/demo_text_path.rst:14", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.GraphicsContextBase.get_hatch_path:2", + "lib/matplotlib/textpath.py:docstring of matplotlib.textpath.TextToPath.get_text_path:37" + ], + "TexManager": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.RendererBase.get_texmanager:2" + ], + "MixedModeRenderer": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.RendererBase.start_rasterizing:4", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.RendererBase.stop_rasterizing:5" + ], + "_timer_start": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:9" + ], + "_timer_stop": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:12" + ], + "_timer_set_single_shot": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:17" + ], + "Timer": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:17" + ], + "_on_timer": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:17", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:27" + ], + "_timer_set_interval": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase:23" + ], + "*args, **kwargs": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.TimerBase.remove_callback:4" + ], + "ToolManager": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:607", + "doc/users/prev_whats_new/whats_new_1.5.rst:620", + "doc/users/prev_whats_new/whats_new_1.5.rst:626", + "doc/users/prev_whats_new/whats_new_1.5.rst:657", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase.remove_toolitem:6", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase:21", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.AxisScaleBase.disable:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolFullScreen.disable:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolToggleBase.disable:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.add_tools_to_manager:2" + ], + "ToolContainer": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:614", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase.remove_toolitem:2", + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase:20" + ], + "ToolManager.get_tool": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase.add_tool:8" + ], + "self.trigger_tool(name)": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase.add_toolitem:6" + ], + "tool_removed_event": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ToolContainerBase.remove_toolitem:6" + ], + "widgets.LockDraw": [ + "lib/matplotlib/backend_managers.py:docstring of matplotlib.backend_managers.ToolManager:24", + "lib/matplotlib/backend_managers.py:docstring of matplotlib.backend_managers.ToolManager:28" + ], + "LockDraw": [ + "lib/matplotlib/backend_managers.py:docstring of matplotlib.backend_managers.ToolManager:24", + "lib/matplotlib/backend_managers.py:docstring of matplotlib.backend_managers.ToolManager:27" + ], + "mainloop": [ + "lib/matplotlib/backends/backend_nbagg.py:docstring of matplotlib.backends.backend_nbagg.show:4" + ], + "interactive": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:262", + "lib/matplotlib/backends/backend_nbagg.py:docstring of matplotlib.backends.backend_nbagg.show:4" + ], + "{'Creator': 'My software', 'Author': 'Me',\n'Title': 'Awesome fig'}": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:31", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:52", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:46" + ], + "'Title'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "'Author'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "'Subject'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "'Keywords'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "'Creator'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "'Producer'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "'CreationDate'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57" + ], + "'ModDate'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57" + ], + "'Trapped'": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfFile:36", + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.PdfPages:57", + "lib/matplotlib/backends/backend_pgf.py:docstring of matplotlib.backends.backend_pgf.PdfPages:51" + ], + "draw_path": [ + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template:8" + ], + "draw_image": [ + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template:8" + ], + "print_xyz": [ + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template:22" + ], + "backend_bases.RendererBase": [ + "lib/matplotlib/backends/backend_template.py:docstring of matplotlib.backends.backend_template.RendererTemplate:4" + ], + "toggled": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.AxisScaleBase.disable:4", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.AxisScaleBase.enable:4", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.AxisScaleBase.trigger:2", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolFullScreen.disable:4", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolFullScreen.enable:4", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ZoomPanBase.trigger:2" + ], + "FigureCanvas": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolBase:25" + ], + "Event": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolBase.trigger:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolCopyToClipboardBase.trigger:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolEnableAllNavigation.trigger:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolEnableNavigation.trigger:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolQuit.trigger:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolQuitAll.trigger:10", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ViewsPositionsBase.trigger:10" + ], + "trigger": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:614", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolFullScreen.disable:4", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolFullScreen.enable:4" + ], + "backend_bases.ToolContainerBase": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.add_tools_to_container:8" + ], + "add_tool": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.add_tools_to_container:11", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.add_tools_to_manager:11" + ], + "backend_managers.ToolManager": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.add_tools_to_manager:8" + ], + "ContourSet": [ + "lib/matplotlib/blocking_input.py:docstring of matplotlib.blocking_input:17" + ], + "clabel": [ + "lib/matplotlib/blocking_input.py:docstring of matplotlib.blocking_input:17" + ], + "Returns": [ + "lib/matplotlib/cbook/__init__.py:docstring of matplotlib.cbook.boxplot_stats:2" + ], + "axes.bxp": [ + "lib/matplotlib/cbook/__init__.py:docstring of matplotlib.cbook.boxplot_stats:2" + ], + "mpl-data/sample_data": [ + "lib/matplotlib/cbook/__init__.py:docstring of matplotlib.cbook.get_sample_data:2" + ], + "PathLike": [ + "lib/matplotlib/cbook/__init__.py:docstring of matplotlib.cbook.open_file_cm:2" + ], + "method(v, coords)": [ + "lib/matplotlib/cbook/__init__.py:docstring of matplotlib.cbook.violin_stats:19" + ], + "coords": [ + "lib/matplotlib/cbook/__init__.py:docstring of matplotlib.cbook.violin_stats:42" + ], + "Colormap": [ + "lib/matplotlib/cm.py:docstring of matplotlib.cm.get_cmap:10" + ], + "draw_gouraud_triangle": [ + "lib/matplotlib/collections.py:docstring of matplotlib.collections.QuadMesh.convert_xunits:4" + ], + "LineCollection": [ + "lib/matplotlib/colorbar.py:docstring of matplotlib.colorbar.ColorbarBase:41", + "lib/matplotlib/container.py:docstring of matplotlib.container.StemContainer:40" + ], + "#rrggbb": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors:30" + ], + "(n, 4)": [ + "lib/matplotlib/colors.py:docstring of matplotlib.colors:30" + ], + "'C'": [ + "doc/gallery/color/color_demo.rst:26", + "doc/tutorials/colors/colors.rst:32", + "lib/matplotlib/colors.py:docstring of matplotlib.colors:54" + ], + "axes.Axes.contour": [ + "lib/matplotlib/contour.py:docstring of matplotlib.contour.ContourSet:112", + "lib/matplotlib/contour.py:docstring of matplotlib.contour.QuadContourSet:77" + ], + "axes.Axes.clabel": [ + "lib/matplotlib/contour.py:docstring of matplotlib.contour.QuadContourSet:4" + ], + "matplotlib.dates.rrulewrapper": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates:105" + ], + "rrulewrapper": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates:105" + ], + "strftime": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates.ConciseDateFormatter:18", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.DateFormatter:2", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.DateFormatter:28", + "lib/matplotlib/dates.py:docstring of matplotlib.dates:129" + ], + "numpy.datetime64": [ + "doc/faq/howto_faq.rst:18", + "doc/faq/howto_faq.rst:21", + "doc/tutorials/text/text_intro.rst:566", + "doc/users/prev_whats_new/whats_new_2.2.rst:155", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.date2num:8" + ], + "_read": [ + "lib/matplotlib/dviread.py:docstring of matplotlib.dviread.Vf:25" + ], + "--format": [ + "lib/matplotlib/dviread.py:docstring of matplotlib.dviread.find_tex_file:17" + ], + "text.usetex": [ + "lib/matplotlib/font_manager.py:docstring of matplotlib.font_manager.FontProperties.set_family:2", + "lib/matplotlib/font_manager.py:docstring of matplotlib.font_manager.FontProperties.set_name:2" + ], + "fc-list": [ + "lib/matplotlib/font_manager.py:docstring of matplotlib.font_manager.get_fontconfig_fonts:2" + ], + "FT2Font": [ + "doc/gallery/misc/ftface_props.rst:14", + "lib/matplotlib/font_manager.py:docstring of matplotlib.font_manager.ttfFontProperty:8" + ], + "axes.Axes": [ + "lib/matplotlib/gridspec.py:docstring of matplotlib.gridspec:1" + ], + "images": [ + "lib/matplotlib/image.py:docstring of matplotlib.image.composite_images:2" + ], + "make_image": [ + "lib/matplotlib/image.py:docstring of matplotlib.image.composite_images:9" + ], + "can_composite": [ + "lib/matplotlib/image.py:docstring of matplotlib.image.composite_images:9" + ], + "FigureCanvasBase": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:172", + "lib/matplotlib/image.py:docstring of matplotlib.image.thumbnail:25" + ], + "matplotlib.figure.savefig": [ + "lib/matplotlib/image.py:docstring of matplotlib.image.thumbnail:25" + ], + "pylab": [ + "doc/api/index.rst:63", + "doc/devel/MEP/MEP12.rst:13" + ], + "CircleCollections": [ + "lib/matplotlib/legend_handler.py:docstring of matplotlib.legend_handler.HandlerCircleCollection:2" + ], + "PathCollections": [ + "lib/matplotlib/legend_handler.py:docstring of matplotlib.legend_handler.HandlerPathCollection:2" + ], + "RegularPolyCollections": [ + "lib/matplotlib/legend_handler.py:docstring of matplotlib.legend_handler.HandlerRegularPolyCollection:2" + ], + "gaussian_kde": [ + "lib/matplotlib/mlab.py:docstring of matplotlib.mlab.GaussianKDE:32" + ], + "kde.covariance_factor": [ + "lib/matplotlib/mlab.py:docstring of matplotlib.mlab.GaussianKDE:41" + ], + "Locator.autoscale()": [ + "doc/api/next_api_changes/2019-02-19-AL.rst:4" + ], + "Locator.view_limits()": [ + "doc/api/next_api_changes/2019-02-19-AL.rst:4" + ], + "MovieWriterRegistry": [ + "doc/api/next_api_changes/2019-03-03-AL.rst:10", + "doc/api/next_api_changes/2019-03-03-AL.rst:4", + "doc/api/prev_api_changes/api_changes_2.2.0.rst:158" + ], + "Axes.add_line": [ + "doc/api/next_api_changes/2019-03-04-AL.rst:9" + ], + "Axes.add_patch": [ + "doc/api/next_api_changes/2019-03-04-AL.rst:9" + ], + "Axes.autoscale_view": [ + "doc/api/next_api_changes/2019-03-04-AL.rst:9" + ], + "fig.canvas.draw": [ + "doc/api/next_api_changes/2019-03-04-AL.rst:13" + ], + "Axes.transData": [ + "doc/api/next_api_changes/2019-03-04-AL.rst:36", + "doc/api/next_api_changes/2019-03-04-AL.rst:38", + "doc/api/next_api_changes/2019-03-04-AL.rst:40", + "doc/api/next_api_changes/2019-03-04-AL.rst:43" + ], + "Locator": [ + "doc/api/next_api_changes/2019-04-02-AL.rst:4", + "doc/users/prev_whats_new/whats_new_1.5.rst:522", + "doc/users/prev_whats_new/whats_new_1.5.rst:528" + ], + "Formatter": [ + "doc/api/next_api_changes/2019-04-02-AL.rst:4", + "doc/api/prev_api_changes/api_changes_1.4.x.rst:133" + ], + "Axis.set_major_locator": [ + "doc/api/next_api_changes/2019-04-02-AL.rst:4" + ], + "Axis.set_minor_locator": [ + "doc/api/next_api_changes/2019-04-02-AL.rst:4" + ], + "GridFinder": [ + "doc/api/next_api_changes/2019-04-04-AL.rst:4" + ], + "matplotlib.color.is_colorlike()": [ + "doc/api/next_api_changes/2019-04-13-TH.rst:4" + ], + "Axes.streamplot": [ + "doc/api/next_api_changes/2019-04-17-AL.rst:14" + ], + "figure": [ + "doc/api/next_api_changes/2019-04-23-TH.rst:4", + "doc/tutorials/advanced/transforms_tutorial.rst:14" + ], + "backend_bases.GraphicsContextBase.set_clip_path": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "blocking_input.BlockingInput.__call__": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "cm.register_cmap": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "dviread.DviFont": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "rcsetup.validate_hatch": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "rcsetup.validate_animation_writer_path": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "spines.Spine": [ + "doc/api/next_api_changes/2019-06-07-AL.rst:4" + ], + "RendererSVG": [ + "doc/api/next_api_changes/2019-06-10-AL.rst:4", + "doc/api/prev_api_changes/api_changes_2.2.0.rst:110" + ], + "image": [ + "doc/api/next_api_changes/2019-07-17-JMK.rst:1", + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "imshow(A, interpolation='antialiased')": [ + "doc/api/next_api_changes/2019-07-17-JMK.rst:8" + ], + "SymLogScale": [ + "doc/api/next_api_changes/2019-07-24-AL.rst:4" + ], + "api_changes.rst": [ + "doc/api/next_api_changes/README.rst:6" + ], + "next_api_changes": [ + "doc/api/next_api_changes/README.rst:6" + ], + "DraggableLegend": [ + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.DraggableBase:27" + ], + "self.vertices": [ + "lib/matplotlib/path.py:docstring of matplotlib.path.Path.codes:2" + ], + "self.codes": [ + "lib/matplotlib/path.py:docstring of matplotlib.path.Path.codes:2" + ], + "shadow_rgbFace": [ + "lib/matplotlib/patheffects.py:docstring of matplotlib.patheffects.SimpleLineShadow:40", + "lib/matplotlib/patheffects.py:docstring of matplotlib.patheffects.SimplePatchShadow:39", + "lib/matplotlib/patheffects.py:docstring of matplotlib.patheffects.withSimplePatchShadow:40" + ], + "Bbox.intervalx().get_bounds()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:97" + ], + "Bbox.intervalx().set_bounds()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:98" + ], + "Bbox.intervaly().get_bounds()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:100" + ], + "Bbox.intervaly().set_bounds()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:101" + ], + "Bbox.overlaps(bboxes)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:115" + ], + "Bbox.count_overlaps(bboxes)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:115" + ], + "bbox_all(bboxes)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:117" + ], + "Bbox.union(bboxes)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:117" + ], + "lbwh_to_bbox(l, b, w, h)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:120" + ], + "Bbox.from_bounds(x0, y0, w, h)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:120" + ], + "inverse_transform_bbox(trans, bbox)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:123" + ], + "Bbox.inverse_transformed(trans)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:123" + ], + "Interval.contains_open(v)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:125" + ], + "interval_contains_open(tuple, v)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:125" + ], + "Interval.contains(v)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:127" + ], + "interval_contains(tuple, v)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:127" + ], + "identity_transform()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:129" + ], + "blend_xy_sep_transform(xtrans, ytrans)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:131" + ], + "blended_transform_factory(xtrans, ytrans)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:131" + ], + "scale_transform(xs, ys)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:133" + ], + "Affine2D().scale(xs[, ys])": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:133" + ], + "get_bbox_transform(boxin, boxout)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:135" + ], + "BboxTransform(boxin, boxout)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:135" + ], + "BboxTransformFrom(boxin)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:135" + ], + "BboxTransformTo(boxout)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:135" + ], + "Transform.seq_xy_tup(points)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:139" + ], + "Transform.transform(points)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:139" + ], + "Transform.inverse_xy_tup(points)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:141" + ], + "Transform.inverted().transform(points)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:141" + ], + "Axes.get_position()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:156" + ], + "Axes.set_position()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:158" + ], + "Axes.toggle_log_lineary()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:160", + "doc/api/prev_api_changes/api_changes_0.98.0.rst:173" + ], + "Subplot": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:162" + ], + "Artist.set_clip_path(path)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:184" + ], + "Artist.set_clip_path(path, transform)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:184" + ], + "linestyle": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:198", + "doc/users/prev_whats_new/changelog.rst:232" + ], + "linestyles": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:198" + ], + "ColorConvertor.to_rgba_list(c)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:211" + ], + "ColorConvertor.to_rgba_array(c)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:211" + ], + "Contour._segments": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:222" + ], + "Figure.dpi.get()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:232" + ], + "Figure.dpi.set()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:232" + ], + "Patch.get_verts()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:241" + ], + "GraphicsContext.set_clip_rectangle(tuple)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:251" + ], + "GraphicsContext.set_clip_rectangle(bbox)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:251" + ], + "GraphicsContext.get_clip_path()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:253" + ], + "GraphicsContext.set_clip_path()": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:255" + ], + "draw_image(self, x, y, im, bbox)": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:278" + ], + "draw_arc": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:284" + ], + "draw_line_collection": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:286" + ], + "draw_line": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:288" + ], + "draw_lines": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:290" + ], + "draw_point": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:292" + ], + "draw_quad_mesh": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:294" + ], + "draw_poly_collection": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:296" + ], + "draw_polygon": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:298" + ], + "draw_rectangle": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:300" + ], + "draw_regpoly_collection": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:302" + ], + "rasterization_zorder": [ + "doc/api/prev_api_changes/api_changes_1.2.x.rst:10" + ], + "set_rasterization_zorder": [ + "doc/api/prev_api_changes/api_changes_1.2.x.rst:10" + ], + "pyplot.scatter": [ + "doc/api/prev_api_changes/api_changes_1.2.x.rst:16" + ], + "text.Text.cached": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:13" + ], + "qt": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:27" + ], + "qtagg": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:27" + ], + "qt4": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:27" + ], + "qt4agg": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:27" + ], + "matplotlib.nxutils": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:32" + ], + "axes.Axes.get_frame": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:36" + ], + "axes.Axes.patch": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:36" + ], + "kwargs": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:38", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:119", + "doc/users/prev_whats_new/whats_new_1.4.rst:172" + ], + "legend": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:38" + ], + "pad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:41" + ], + "borderpad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:41" + ], + "labelsep": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:42" + ], + "labelspacing": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:42" + ], + "handlelen": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:43" + ], + "handlelength": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:43" + ], + "handletextsep": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:44" + ], + "handletextpad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:44" + ], + "axespad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:45" + ], + "borderaxespad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:45" + ], + "legend.pad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:49" + ], + "legend.labelsep": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:49" + ], + "legend.handlelen": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:49" + ], + "legend.handletextsep": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:49" + ], + "legend.axespad": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:49" + ], + "hist": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:52", + "doc/gallery/user_interfaces/svg_histogram_sgskip.rst:33" + ], + "width": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:52", + "doc/gallery/pie_and_polar_charts/nested_pie.rst:39", + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "rwidth": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:52" + ], + "patches.Circle": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:55" + ], + "resolution": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:55" + ], + "patches.CirclePolygon": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:55" + ], + "mlab.liaupunov": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:62" + ], + "mlab.save": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:64" + ], + "mlab.load": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:64" + ], + "pylab.save": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:64" + ], + "pylab.load": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:64" + ], + "widgets.HorizontalSpanSelector": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:68" + ], + "widgets.SpanSelector": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:68" + ], + "path.Path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:77" + ], + "collections.Collection": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:77" + ], + "point_in_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:83" + ], + "path.Path.contains_point": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:83" + ], + "get_path_extents": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:84" + ], + "path.Path.get_extents": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:84" + ], + "point_in_path_collection": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:85" + ], + "collection.Collection.contains": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:85" + ], + "path_in_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:86" + ], + "path.Path.contains_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:86" + ], + "path_intersects_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:87" + ], + "path.Path.intersects_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:87" + ], + "convert_path_to_polygons": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:88" + ], + "path.Path.to_polygons": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:88" + ], + "cleanup_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:89" + ], + "path.Path.cleaned": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:89" + ], + "points_in_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:90" + ], + "path.Path.contains_points": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:90" + ], + "clip_path_to_rect": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:91" + ], + "path.Path.clip_to_bbox": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:91" + ], + "matplotlib.colors.normalize": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:93" + ], + "matplotlib.colors.no_norm": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:93" + ], + "set_colorbar": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:97" + ], + "matplotlib.mpl": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:107", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:405" + ], + "readonly": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:134" + ], + "readonly=True": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:134" + ], + "Path.unit*": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:134" + ], + "axvline": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:159" + ], + "axhline": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:159" + ], + "extend='both'": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:176" + ], + "matplotlibrc": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:204", + "doc/tutorials/intermediate/constrainedlayout_guide.rst:568", + "doc/users/prev_whats_new/whats_new_1.3.rst:332", + "doc/users/prev_whats_new/whats_new_1.3.rst:385", + "doc/users/prev_whats_new/whats_new_2.2.rst:260", + "doc/users/prev_whats_new/whats_new_2.2.rst:263" + ], + "/.config/matplotlib/matplotlibrc": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:204" + ], + "font.*": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:209", + "doc/users/prev_whats_new/whats_new_1.3.rst:302" + ], + "_base": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:10" + ], + "axes": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:12", + "doc/api/prev_api_changes/api_changes_1.4.x.rst:16", + "doc/tutorials/advanced/transforms_tutorial.rst:14", + "doc/tutorials/advanced/transforms_tutorial.rst:244", + "doc/tutorials/advanced/transforms_tutorial.rst:315", + "doc/tutorials/advanced/transforms_tutorial.rst:633" + ], + "_subplot": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:14" + ], + "import math": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:20" + ], + "from numpy import ma": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:21" + ], + "from matplotlib import cbook": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:22" + ], + "from matplotlib import docstring": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:23" + ], + "from matplotlib.cbook import is_sequence_of_strings": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:24" + ], + "from matplotlib.cbook import is_string_like": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:25" + ], + "from matplotlib.cbook import iterable": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:26" + ], + "import itertools": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:27" + ], + "from matplotlib import artist as martist": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:28" + ], + "import matplotlib": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:29" + ], + "from matplotlib import collections as mcoll": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:30" + ], + "from matplotlib import colors as mcolors": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:31" + ], + "from matplotlib import contour as mcontour": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:32" + ], + "from matplotlib import patches as mpatches": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:33" + ], + "from matplotlib import path as mpath": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:34" + ], + "from matplotlib import quiver as mquiver": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:35" + ], + "from matplotlib import stack as mstack": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:36" + ], + "from matplotlib import stream as mstream": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:37" + ], + "from matplotlib import table as mtable": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:38" + ], + "matplotlib.backends.qt4_compat": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:40" + ], + "matplotlib.qt_compat": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:40" + ], + "qt4_compat": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:40" + ], + "ipython_directive": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:59" + ], + "ipython_console_highlighting": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:59" + ], + "conf.py": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:59" + ], + "IPython.sphinxext.ipython_directive": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:59" + ], + "matplotlib.sphinxext.ipython_directive": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:59" + ], + "matplotlib.finance": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:66" + ], + "*_ochl": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:66" + ], + "*_ohlc": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:66" + ], + "colorbar": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:82", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:371" + ], + "colorbar.ColorbarBase.outline": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:82" + ], + "savefig.transparent": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:99" + ], + "set_position": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102" + ], + "xytext": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102", + "doc/gallery/text_labels_and_annotations/annotation_demo.rst:39" + ], + "textcoords": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102", + "doc/gallery/text_labels_and_annotations/annotation_demo.rst:39" + ], + "xyann": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102", + "doc/api/prev_api_changes/api_changes_1.4.x.rst:109" + ], + "anncoords": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102", + "doc/api/prev_api_changes/api_changes_1.4.x.rst:111" + ], + "AnnotaionBbox": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:102" + ], + "xy": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:110", + "doc/gallery/text_labels_and_annotations/annotation_demo.rst:39", + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Lasso:8" + ], + "xycoords": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:112", + "doc/gallery/text_labels_and_annotations/annotation_demo.rst:39" + ], + "set_position()": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:113" + ], + "matplotlib.mlab.cohere_pairs": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:115", + "doc/api/prev_api_changes/api_changes_1.4.x.rst:121" + ], + "axes.fromatter.useoffset": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:130" + ], + "useOffset": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:130", + "doc/users/prev_whats_new/whats_new_1.4.rst:293" + ], + "ticker.ScalarFormatter": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:130" + ], + "StrMethodFormatter": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:133" + ], + "FormatStrFormatter": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:133", + "doc/gallery/ticks_and_spines/major_minor_demo.rst:24", + "doc/users/prev_whats_new/whats_new_1.4.rst:129" + ], + "matplotlib.testing.image_util": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:137" + ], + "matplotlib.testing.image_util.autocontrast": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:137" + ], + "FigureManagerQTAgg": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:144" + ], + "NavigationToolbar2QTAgg": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:144" + ], + "rect": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:147" + ], + "drawRect": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:147" + ], + "FigureCanvasQTAgg": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:147" + ], + "drawRectangle()": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:147" + ], + "tight_bbox.adjust_bbox": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:151" + ], + "tight_bbox.process_figure_for_rasterizing": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:151" + ], + "fixed_dpi": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:151" + ], + "figure.dpi": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:151" + ], + "mpl_toolkits.axes_grid1.ImageGrid": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:156" + ], + "skew": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:161", + "doc/users/prev_whats_new/whats_new_1.4.rst:157" + ], + "skew_deg": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:161", + "doc/users/prev_whats_new/whats_new_1.4.rst:157" + ], + "axes.pie": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:164" + ], + "markevery": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:166", + "doc/users/prev_whats_new/whats_new_1.4.rst:212", + "doc/users/prev_whats_new/whats_new_1.4.rst:214", + "doc/users/prev_whats_new/whats_new_3.0.rst:111" + ], + "__init__": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:173" + ], + "fontproperties": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:173" + ], + "AnchoredSizeBar": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:173" + ], + "prop": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:173" + ], + "fontpropreties": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:173" + ], + "plt.subplot": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:181" + ], + "plt.subplots(2, 2,\n0)": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:181" + ], + "GridSpec": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:181", + "doc/gallery/userdemo/demo_gridspec01.rst:14", + "doc/gallery/userdemo/demo_gridspec03.rst:14", + "doc/gallery/userdemo/demo_gridspec06.rst:14", + "doc/tutorials/intermediate/constrainedlayout_guide.rst:821" + ], + "matplotlib.cbook.ls_mapper": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:11", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:8" + ], + "ls_mapper_r": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:11", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:8" + ], + "\"solid\"": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:11" + ], + "\"-\"": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:11" + ], + "ls_mapper": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:11" + ], + "Quiver.__init__": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:37", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:44" + ], + "Axes.quiver": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:37" + ], + "plt.quiver": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:37" + ], + "Quiver.pivot": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:44" + ], + "Axes.get_children": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:47", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:50" + ], + "Axes.draw": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:50" + ], + "corner_mask": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:57" + ], + "contour.corner_mask": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:57" + ], + "corner_mask=True": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:57" + ], + "corner_mask=False": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:57" + ], + "corner_mask='legacy'": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:57" + ], + "nchunk": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:70" + ], + "ax.plot": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:105" + ], + "args": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:119" + ], + "MicrosecondLocator.__call__": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:119" + ], + "__call__(self, *args, **kwargs)": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:122" + ], + "__call__(self)": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:122" + ], + "OffsetBox.DrawingArea(..., clip=True)": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:140" + ], + "clip": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:140" + ], + "child.set_clip_on(False)": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:145" + ], + "GraphicsContextBase.set_graylevel": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:223", + "doc/api/prev_api_changes/api_changes_1.5.0.rst:226" + ], + "GraphicsContextBase.set_foreground": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:226" + ], + "idle_event": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:233" + ], + "color_cycle": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:239" + ], + "lod": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:281" + ], + "Lena": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:295" + ], + "matplotlib.cbook.get_sample_data('grace_hopper.png')": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:298" + ], + "matplotlib.cbook.get_sample_data('grace_hopper.jpg')": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:298" + ], + "loc": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:307", + "doc/users/prev_whats_new/whats_new_1.3.rst:263", + "lib/matplotlib/projections/polar.py:docstring of matplotlib.projections.polar.PolarAxes.set_theta_zero_location:9" + ], + "IPython": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:338" + ], + "shading": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:353" + ], + "edgecolor": [ + "doc/api/prev_api_changes/api_changes_1.5.0.rst:356", + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Slider:85" + ], + "matplotlib.Axes.plot": [ + "doc/api/prev_api_changes/api_changes_1.5.3.rst:7" + ], + "matplotlib.lines.Line2D.__init__": [ + "doc/api/prev_api_changes/api_changes_1.5.3.rst:7" + ], + "GTKAgg": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:15" + ], + "GTKCairo": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:15" + ], + "WXAgg": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:23" + ], + "numpy.round": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:33" + ], + "rcParams": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:41", + "doc/devel/MEP/MEP14.rst:110", + "doc/users/prev_whats_new/whats_new_2.2.rst:244" + ], + "Artist.update": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:50" + ], + "matplotlib.Artist.update": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:53", + "doc/api/prev_api_changes/api_changes_2.0.0.rst:58", + "doc/api/prev_api_changes/api_changes_2.0.0.rst:63" + ], + "matplotlib.Artist.set": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:58", + "doc/api/prev_api_changes/api_changes_2.0.0.rst:63" + ], + "matplotlib.ticker.SymmetricLogLocator": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:144" + ], + "setup.cfg": [ + "doc/api/prev_api_changes/api_changes_2.0.0.rst:200" + ], + "afm.get_fontconfig_fonts": [ + "doc/api/prev_api_changes/api_changes_2.0.1.rst:27", + "doc/api/prev_api_changes/api_changes_2.0.1.rst:30" + ], + "afm.findSystemFonts": [ + "doc/api/prev_api_changes/api_changes_2.0.1.rst:30" + ], + "bar": [ + "doc/api/prev_api_changes/api_changes_2.0.1.rst:36", + "doc/gallery/axisartist/demo_floating_axes.rst:16", + "doc/users/prev_whats_new/whats_new_1.5.rst:457" + ], + "plt.bar": [ + "doc/api/prev_api_changes/api_changes_2.0.1.rst:39" + ], + "sticky_edges": [ + "doc/api/prev_api_changes/api_changes_2.0.1.rst:39" + ], + "g": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:53" + ], + "x": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:53" + ], + "y": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:53" + ], + "G": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:56" + ], + "np.datetime64": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:95", + "doc/gallery/recipes/common_date_problems.rst:34" + ], + "matplotlib.mlab.griddata": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:117" + ], + "matplotlib.testing.noseclasses": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:304" + ], + "mpl_toolkits.axes_grid": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:317" + ], + "mpl_toolkits.axes_grid1": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:317" + ], + "mpl_toolkits.axisartist": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:317" + ], + "Axis": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:317" + ], + "0.98.x": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:405" + ], + "lines": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:424" + ], + "Figure.legend": [ + "doc/api/prev_api_changes/api_changes_2.1.2.rst:5" + ], + "matplotlib.Figure.legend": [ + "doc/api/prev_api_changes/api_changes_2.1.2.rst:8" + ], + "Axis.unit_data": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:74" + ], + "Axis.units": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:77" + ], + "FONT_SCALE": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:110" + ], + "fontd": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:110" + ], + "MovieWriter": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:158" + ], + "Figure.set_figwidth": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:166" + ], + "Figure.set_figheight": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:166" + ], + "matplotlib.Figure.set_figwidth": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:169" + ], + "matplotlib.Figure.set_figheight": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:169" + ], + "forward=False": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:169" + ], + "Figure.set_size_inches": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:169" + ], + "forward=True": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:169" + ], + "Axes.imshow": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:273", + "doc/api/prev_api_changes/api_changes_2.2.0.rst:276", + "doc/users/prev_whats_new/whats_new_2.2.rst:251", + "doc/users/prev_whats_new/whats_new_2.2.rst:254" + ], + "GTK3Agg": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:285", + "doc/tutorials/introductory/usage.rst:561" + ], + "GTK3Cairo": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:285", + "doc/tutorials/introductory/usage.rst:561" + ], + "Text.set_text": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:64", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:67" + ], + "Text.get_text": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:67", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:71" + ], + "FigureManagerPdf": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:163" + ], + "FigureManagerPS": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:163" + ], + "FigureManagerSVG": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:163" + ], + "FigureManagerBase": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:163", + "doc/devel/MEP/MEP23.rst:103", + "doc/devel/MEP/MEP23.rst:111", + "doc/devel/MEP/MEP23.rst:40", + "doc/devel/MEP/MEP23.rst:57" + ], + "FigureCanvasBase.print_figure": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:172" + ], + "levels": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:197" + ], + "LogNorm": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:207" + ], + "Axes.axes.streamplot": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:215" + ], + "AutoDateLocator": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:219" + ], + "hexbin": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:281" + ], + "rcdefaults": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:295", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:298" + ], + "rc_file": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:295", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:298" + ], + "CallbackRegistry": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:305" + ], + "WeakMethod": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:305", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:308" + ], + "ArtistInspector.get_aliases": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:326" + ], + "ArtistInspector.aliasd": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:331", + "doc/users/prev_whats_new/whats_new_3.1.0.rst:171" + ], + "Legend.draggable()": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:402" + ], + ". htmlonly::": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:546" + ], + ". latexonly::": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:546" + ], + ". only:: html": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:546" + ], + ". only:: latex": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:546" + ], + "matplotlib.backends.backend_agg._png": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:12" + ], + "matplotlib.contour._contour": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:13" + ], + "matplotlib.image._png": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:14" + ], + "matplotlib.mathtext._png": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:15" + ], + "matplotlib.testing.compare._png": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:16" + ], + "matplotlib.texmanager._png": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:17" + ], + "matplotlib.tri.triangulation._tri": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:18" + ], + "matplotlib.tri.triangulation._qhull": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:19" + ], + "matplotlib.tri.tricontour._tri": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:20" + ], + "matplotlib.tri.trifinder._tri": [ + "doc/api/prev_api_changes/api_changes_3.0.1.rst:21" + ], + "YAxis": [ + "lib/matplotlib/projections/polar.py:docstring of matplotlib.projections.polar.RadialAxis:4" + ], + "YTick": [ + "lib/matplotlib/projections/polar.py:docstring of matplotlib.projections.polar.RadialTick:4" + ], + "XAxis": [ + "lib/matplotlib/projections/polar.py:docstring of matplotlib.projections.polar.ThetaAxis:4" + ], + "XTick": [ + "lib/matplotlib/projections/polar.py:docstring of matplotlib.projections.polar.ThetaTick:4" + ], + "plot": [ + "doc/gallery/units/units_sample.rst:14", + "doc/users/prev_whats_new/changelog.rst:232", + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:4" + ], + "plot_include_source": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:51" + ], + ":encoding:": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:55" + ], + ":context:": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:60" + ], + "alt": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "height": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "scale": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "align": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "class": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:72" + ], + "context": [ + "lib/matplotlib/sphinxext/plot_directive.py:docstring of matplotlib.sphinxext.plot_directive:117" + ], + "Patch.set_color": [ + "lib/matplotlib/spines.py:docstring of matplotlib.spines.Spine.set_color:20" + ], + "Patch.set_facecolor": [ + "lib/matplotlib/spines.py:docstring of matplotlib.spines.Spine.set_color:20" + ], + "style.available": [ + "lib/matplotlib/style/__init__.py:docstring of matplotlib.style.context:12", + "lib/matplotlib/style/__init__.py:docstring of matplotlib.style.use:14" + ], + "converter": [ + "lib/matplotlib/testing/compare.py:docstring of matplotlib.testing.compare.compare_images:4" + ], + "calculate_rms": [ + "lib/matplotlib/testing/compare.py:docstring of matplotlib.testing.compare.compare_images:4" + ], + "ImageComparisonFailure": [ + "lib/matplotlib/testing/decorators.py:docstring of matplotlib.testing.decorators.image_comparison:2" + ], + "pytest.mark.usefixtures": [ + "lib/matplotlib/testing/decorators.py:docstring of matplotlib.testing.decorators.image_comparison:13" + ], + "BboxBase": [ + "lib/matplotlib/text.py:docstring of matplotlib.text.OffsetFrom:28", + "lib/matplotlib/text.py:docstring of matplotlib.text.OffsetFrom:31" + ], + "Transform": [ + "doc/users/prev_whats_new/whats_new_2.2.rst:357", + "doc/users/prev_whats_new/whats_new_2.2.rst:360", + "lib/matplotlib/text.py:docstring of matplotlib.text.OffsetFrom:28" + ], + "texmanager.TexManager": [ + "lib/matplotlib/textpath.py:docstring of matplotlib.textpath.TextToPath.get_texmanager:2" + ], + "dates": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker:82" + ], + "str.format()": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.StrMethodFormatter:2" + ], + "self.decimals": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.PercentFormatter.format_pct:5" + ], + "display_range": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.PercentFormatter.format_pct:5" + ], + "'auto'": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.MaxNLocator:28" + ], + "min_n_ticks": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.MaxNLocator:41" + ], + "patch.Patch": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.TransformedPatchPath:2" + ], + "units.AxisInfo": [ + "lib/matplotlib/units.py:docstring of matplotlib.units.ConversionInterface.axisinfo:2", + "lib/matplotlib/units.py:docstring of matplotlib.units.DecimalConverter.axisinfo:2" + ], + "active": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.AxesWidget:36" + ], + "figure.canvas.mpl_connect": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.AxesWidget.connect_event:4" + ], + "callback": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Lasso:20" + ], + "onselect": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.PolygonSelector:20" + ], + "lineprops": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.PolygonSelector:28" + ], + "markerprops": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.PolygonSelector:33" + ], + "vertex_select_radius": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.PolygonSelector:38" + ], + "slidermin": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Slider:59" + ], + "slidermax": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Slider:63" + ], + "valstep": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Slider:70" + ], + "facecolor": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Slider:85" + ], + "alpha": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.Slider:85" + ], + "span_selector.active=False": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.SpanSelector:7" + ], + "span_selector.active=True": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.SpanSelector:7" + ], + "make.py": [ + "doc/devel/MEP/MEP10.rst:170", + "doc/devel/MEP/MEP10.rst:33" + ], + "autodoc_docstring_signature": [ + "doc/devel/MEP/MEP10.rst:87" + ], + "Axes.axes": [ + "doc/devel/MEP/MEP10.rst:120" + ], + "sphinx-autogen": [ + "doc/devel/MEP/MEP10.rst:162" + ], + "gen_rst.py": [ + "doc/devel/MEP/MEP10.rst:166" + ], + "sphinx-quickstart": [ + "doc/devel/MEP/MEP10.rst:170" + ], + "setuptools": [ + "doc/devel/MEP/MEP11.rst:35" + ], + "easy_install": [ + "doc/devel/MEP/MEP11.rst:167", + "doc/devel/MEP/MEP11.rst:35" + ], + "PyPI": [ + "doc/devel/MEP/MEP11.rst:106", + "doc/devel/MEP/MEP11.rst:35" + ], + "distribute": [ + "doc/devel/MEP/MEP11.rst:106", + "doc/devel/MEP/MEP11.rst:117", + "doc/devel/MEP/MEP11.rst:35" + ], + "pip": [ + "doc/devel/MEP/MEP11.rst:106", + "doc/devel/MEP/MEP11.rst:130", + "doc/devel/MEP/MEP11.rst:35", + "doc/devel/MEP/MEP11.rst:62", + "doc/devel/MEP/MEP11.rst:75", + "doc/users/prev_whats_new/whats_new_1.3.rst:374" + ], + "git": [ + "doc/devel/MEP/MEP11.rst:62" + ], + "setup.py": [ + "doc/devel/MEP/MEP11.rst:64", + "doc/devel/MEP/MEP11.rst:67", + "doc/devel/contributing.rst:387" + ], + "import numpy": [ + "doc/devel/MEP/MEP11.rst:64" + ], + "dateutil": [ + "doc/devel/MEP/MEP11.rst:109", + "doc/devel/MEP/MEP11.rst:117", + "doc/devel/MEP/MEP11.rst:136", + "doc/devel/MEP/MEP11.rst:140", + "doc/devel/MEP/MEP11.rst:67", + "doc/devel/MEP/MEP11.rst:84", + "doc/devel/MEP/MEP11.rst:90", + "doc/users/prev_whats_new/whats_new_1.3.rst:374" + ], + "pytz": [ + "doc/devel/MEP/MEP11.rst:109", + "doc/devel/MEP/MEP11.rst:136", + "doc/devel/MEP/MEP11.rst:67", + "doc/devel/MEP/MEP11.rst:84", + "doc/devel/MEP/MEP11.rst:90", + "doc/users/prev_whats_new/whats_new_1.3.rst:374" + ], + "six": [ + "doc/devel/MEP/MEP11.rst:117", + "doc/devel/MEP/MEP11.rst:136", + "doc/devel/MEP/MEP11.rst:67", + "doc/devel/MEP/MEP11.rst:84", + "doc/devel/MEP/MEP11.rst:90", + "doc/users/prev_whats_new/whats_new_1.3.rst:374" + ], + "pyparsing": [ + "doc/devel/MEP/MEP11.rst:109", + "doc/devel/MEP/MEP11.rst:117", + "doc/devel/MEP/MEP11.rst:136", + "doc/devel/MEP/MEP11.rst:72", + "doc/devel/MEP/MEP11.rst:79", + "doc/users/prev_whats_new/whats_new_1.3.rst:374" + ], + "matplotlib.extern": [ + "doc/devel/MEP/MEP11.rst:140" + ], + "matplotlib.extern.dateutil": [ + "doc/devel/MEP/MEP11.rst:140" + ], + "eggs": [ + "doc/devel/MEP/MEP11.rst:167" + ], + "exe": [ + "doc/devel/MEP/MEP11.rst:167" + ], + "msi": [ + "doc/devel/MEP/MEP11.rst:167" + ], + "pylab_examples": [ + "doc/devel/MEP/MEP12.rst:13" + ], + "matplotlib pyplot": [ + "doc/devel/MEP/MEP12.rst:13" + ], + "#2474 :1", + "doc/api/_as_gen/mpl_toolkits.axes_grid1.parasite_axes.rst:31::1" + ], + "mpl_toolkits.axes_grid1.parasite_axes.AxesParasite": [ + ":1", + "doc/api/_as_gen/mpl_toolkits.axes_grid1.parasite_axes.rst:31::1" + ], + "mpl_toolkits.axes_grid1.parasite_axes.AxesParasiteParasiteAuxTrans": [ + ":1", + "doc/api/_as_gen/mpl_toolkits.axes_grid1.parasite_axes.rst:31::1" + ], + "mpl_toolkits.axisartist.axisline_style.SimpleArrow": [ + "lib/mpl_toolkits/axisartist/axisline_style.py:docstring of mpl_toolkits.axisartist.axisline_style.AxislineStyle.FilledArrow:1" + ], + "_FancyAxislineStyle.FilledArrow": [ + ":1" + ], + "mpl_toolkits.axisartist.axisline_style._Base": [ + "lib/mpl_toolkits/axisartist/axisline_style.py:docstring of mpl_toolkits.axisartist.axisline_style.AxislineStyle.SimpleArrow:1" + ], + "_FancyAxislineStyle.SimpleArrow": [ + ":1" + ], + "mpl_toolkits.axisartist.axislines._Base": [ + "lib/mpl_toolkits/axisartist/axislines.py:docstring of mpl_toolkits.axisartist.axislines.AxisArtistHelper.Fixed:1", + "lib/mpl_toolkits/axisartist/axislines.py:docstring of mpl_toolkits.axisartist.axislines.AxisArtistHelper.Floating:1" + ], + "mpl_toolkits.axisartist.axislines.Fixed": [ + "lib/mpl_toolkits/axisartist/axislines.py:docstring of mpl_toolkits.axisartist.axislines.AxisArtistHelperRectlinear.Fixed:1", + "lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py:docstring of mpl_toolkits.axisartist.grid_helper_curvelinear.FixedAxisArtistHelper:1" + ], + "mpl_toolkits.axisartist.axislines.Floating": [ + "lib/mpl_toolkits/axisartist/axislines.py:docstring of mpl_toolkits.axisartist.axislines.AxisArtistHelperRectlinear.Floating:1", + "lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py:docstring of mpl_toolkits.axisartist.grid_helper_curvelinear.FloatingAxisArtistHelper:1" + ], + "mpl_toolkits.axisartist.floating_axes.Floating AxesHostAxes": [ + ":1", + "doc/api/_as_gen/mpl_toolkits.axisartist.floating_axes.rst:31::1" + ], + "Patch": [ + "doc/tutorials/introductory/usage.rst:153", + "lib/matplotlib/spines.py:docstring of matplotlib.spines.Spine.draw:2", + "lib/matplotlib/table.py:docstring of matplotlib.table.Cell.draw:2", + "lib/mpl_toolkits/mplot3d/art3d.py:docstring of mpl_toolkits.mplot3d.art3d.Patch3D.get_facecolor:2" + ], + "tzinfo": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates.AutoDateLocator:64", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.DateLocator.datalim_to_dt:6", + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.zaxis_date:4" + ], + "matplotlib.axes._base._AxesBase": [ + "doc/api/artist_api.rst:189", + "doc/api/axes_api.rst:685", + "lib/matplotlib/axes/_axes.py:docstring of matplotlib.axes.Axes:1" + ], + "matplotlib.collections._CollectionWithSizes": [ + "doc/api/artist_api.rst:189", + "doc/api/collections_api.rst:13", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.CircleCollection:1", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PathCollection:27", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.PolyCollection:27", + "lib/matplotlib/collections.py:docstring of matplotlib.collections.RegularPolyCollection:27" + ], + "matplotlib.image._ImageBase": [ + "doc/api/artist_api.rst:189", + "lib/matplotlib/image.py:docstring of matplotlib.image.AxesImage:1", + "lib/matplotlib/image.py:docstring of matplotlib.image.BboxImage:1", + "lib/matplotlib/image.py:docstring of matplotlib.image.FigureImage:1" + ], + "matplotlib.text._AnnotationBase": [ + "doc/api/artist_api.rst:189", + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.AnnotationBbox:1", + "lib/matplotlib/text.py:docstring of matplotlib.text.Annotation:1" + ], + "matplotlib.projections.geo.AitoffAxes": [ + "doc/api/artist_api.rst:189" + ], + "matplotlib.projections.geo.GeoAxes": [ + "doc/api/artist_api.rst:189" + ], + "matplotlib.projections.geo.HammerAxes": [ + "doc/api/artist_api.rst:189" + ], + "matplotlib.projections.geo.LambertAxes": [ + "doc/api/artist_api.rst:189" + ], + "matplotlib.projections.geo.MollweideAxes": [ + "doc/api/artist_api.rst:189" + ], + "backend_bases.Timer": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.FigureCanvasBase.new_timer:2", + "lib/matplotlib/backends/backend_nbagg.py:docstring of matplotlib.backends.backend_nbagg.FigureCanvasNbAgg.new_timer:2" + ], + "Cursors": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.NavigationToolbar2.set_cursor:2" + ], + "matplotlib.backend_bases._Backend": [ + "lib/matplotlib/backend_bases.py:docstring of matplotlib.backend_bases.ShowBase:1" + ], + "matplotlib.backends.backend_webagg_core.FigureCanvasWebAggCore": [ + "lib/matplotlib/backends/backend_nbagg.py:docstring of matplotlib.backends.backend_nbagg.FigureCanvasNbAgg:1" + ], + "matplotlib.backends.backend_webagg_core.FigureManagerWebAgg": [ + "lib/matplotlib/backends/backend_nbagg.py:docstring of matplotlib.backends.backend_nbagg.FigureManagerNbAgg:1" + ], + "matplotlib.backends.backend_webagg_core.NavigationToolbar2WebAgg": [ + "lib/matplotlib/backends/backend_nbagg.py:docstring of matplotlib.backends.backend_nbagg.NavigationIPy:1" + ], + "matplotlib.backends._backend_pdf_ps.RendererPDFPSBase": [ + "lib/matplotlib/backends/backend_pdf.py:docstring of matplotlib.backends.backend_pdf.RendererPdf:1", + "lib/matplotlib/backends/backend_ps.py:docstring of matplotlib.backends.backend_ps.RendererPS:1" + ], + "matplotlib.backends._backend_tk.FigureCanvasTk": [ + "lib/matplotlib/backends/backend_tkagg.py:docstring of matplotlib.backends.backend_tkagg.FigureCanvasTkAgg:1" + ], + "matplotlib.backend_tools._ToolGridBase": [ + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolGrid:1", + "lib/matplotlib/backend_tools.py:docstring of matplotlib.backend_tools.ToolMinorGrid:1" + ], + "matplotlib.colorbar._ColorbarMappableDummy": [ + "lib/matplotlib/colorbar.py:docstring of matplotlib.colorbar.ColorbarBase:1" + ], + "Artist": [ + "lib/matplotlib/container.py:docstring of matplotlib.container.Container.add_callback:2" + ], + "matplotlib.dates.strpdate2num": [ + "doc/api/dates_api.rst:11" + ], + "matplotlib.dates.bytespdate2num": [ + "doc/api/dates_api.rst:11" + ], + "matplotlib.dates.rrulewrapper": [ + "doc/api/dates_api.rst:11" + ], + "matplotlib.dates.DateConverter": [ + "doc/api/dates_api.rst:11", + "doc/users/prev_whats_new/whats_new_1.4.rst:269" + ], + "matplotlib.dates.ConciseDateConverter": [ + "doc/api/dates_api.rst:11" + ], + "datetime": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates.mx2num:2", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.num2date:19" + ], + "dateutil.rrule.rrulebase": [ + "/rrule.py:docstring of matplotlib.dates.rrule:27" + ], + "dviread.PsfontsMap": [ + "lib/matplotlib/dviread.py:docstring of matplotlib.dviread.DviFont:20" + ], + "matplotlib.dviread.Font": [ + ":1" + ], + "json.encoder.JSONEncoder": [ + "lib/matplotlib/font_manager.py:docstring of matplotlib.font_manager.JSONEncoder:1" + ], + "font_manager.FontProperties": [ + "lib/matplotlib/fontconfig_pattern.py:docstring of matplotlib.fontconfig_pattern.FontconfigPatternParser.parse:2", + "lib/matplotlib/fontconfig_pattern.py:docstring of matplotlib.fontconfig_pattern.parse_fontconfig_pattern:2" + ], + "MathTextBackend": [ + "lib/matplotlib/mathtext.py:docstring of matplotlib.mathtext.Fonts:30" + ], + "Annotation": [ + "lib/matplotlib/offsetbox.py:docstring of matplotlib.offsetbox.AnnotationBbox.draw:2" + ], + "numpy.uint8": [ + ":1" + ], + "AFM": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:40" + ], + "Pbox": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:74" + ], + "Bbox": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:143" + ], + "Polar": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:164" + ], + "matplotlib.label.Label": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:31" + ], + "matplotlib.colors.ColorConverter": [ + "doc/api/prev_api_changes/api_changes_1.2.x.rst:140" + ], + "matplotlib.patheffects.AbstractPathEffect`s.\n``matplotlib.patheffects._Base`": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:72" + ], + "matplotlib.backqend_pdf.PdfFile": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:435" + ], + "backend_tkagg.AxisMenu": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:34" + ], + "backend_qt5agg.FigureCanvasQTAggBase": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:199" + ], + "backend_qt5.FigureCanvasQT": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:199" + ], + "QWidget": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:199" + ], + "FigureCanvasQTAggBase": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:199", + "doc/api/prev_api_changes/api_changes_2.2.0.rst:212", + "doc/api/prev_api_changes/api_changes_2.2.0.rst:218" + ], + "backend_qt5.FigureCanvasQTAggBase": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:212" + ], + "backend_qt5.FigureCanvasQTAgg": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:212" + ], + "FigureCanvasQTAgg": [ + "doc/api/prev_api_changes/api_changes_2.2.0.rst:218" + ], + "FigureImage": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:383", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:396" + ], + "BboxImage": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:383", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:396" + ], + "AxesImage": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:383", + "doc/api/prev_api_changes/api_changes_3.0.0.rst:396" + ], + "matplotlib.cbook.deprecation.mplDeprecation": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:405" + ], + "matplotlib.cbook.deprecation.MatplotlibDeprecationWarning": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:405" + ], + "matplotlib.cbook.MatplotlibDeprecationWarning": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:405" + ], + "ListedColormap": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.colormaps:98" + ], + "LinearSegmentedColormap": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.colormaps:98" + ], + "unittest.case.TestCase": [ + "lib/matplotlib/testing/decorators.py:docstring of matplotlib.testing.decorators.CleanupTestCase:1" + ], + "OldAutoLocator": [ + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker:73" + ], + "mpl_toolkits.axes_grid1": [ + "doc/api/toolkits/axes_grid1.rst:5", + "doc/api/toolkits/axes_grid1.rst:6" + ], + "mpl_toolkits.axisartist.Axes": [ + "doc/api/toolkits/axisartist.rst:5", + "doc/api/toolkits/axisartist.rst:6" + ], + "Patch3DCollection": [ + "doc/api/toolkits/mplot3d.rst:101::1" + ], + "Path3DCollection": [ + "doc/api/toolkits/mplot3d.rst:101::1" + ], + "matplotlib.transforms._BlendedMixin": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.BlendedAffine2D:1", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.BlendedGenericTransform:1" + ], + "matplotlib.tri.trifinder.TriFinder": [ + "lib/matplotlib/tri/trifinder.py:docstring of matplotlib.tri.TrapezoidMapTriFinder:1" + ], + "matplotlib.tri.triinterpolate.TriInterpolator": [ + "lib/matplotlib/tri/triinterpolate.py:docstring of matplotlib.tri.CubicTriInterpolator:1", + "lib/matplotlib/tri/triinterpolate.py:docstring of matplotlib.tri.LinearTriInterpolator:1" + ], + "matplotlib.tri.trirefine.TriRefiner": [ + "lib/matplotlib/tri/trirefine.py:docstring of matplotlib.tri.UniformTriRefiner:1" + ], + "matplotlib.widgets._SelectorWidget": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.LassoSelector:1", + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.PolygonSelector:1", + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.RectangleSelector:1", + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.SpanSelector:1" + ], + "~.collections.PatchCollection": [ + "doc/gallery/shapes_and_collections/patch_collection.rst:14" + ], + "numpy.datetime64": [ + "doc/gallery/text_labels_and_annotations/date.rst:18" + ], + "~matplotlib.spines.Spine": [ + "doc/gallery/ticks_and_spines/multiple_yaxis_with_spines.rst:18" + ], + "matplotlib.patch.PathPatch": [ + "doc/tutorials/advanced/path_tutorial.rst:202" + ], + "matplotlib.backend_bases.FigureCanvas": [ + "doc/tutorials/intermediate/artists.rst:18", + "doc/tutorials/intermediate/artists.rst:20", + "doc/tutorials/intermediate/artists.rst:26" + ], + "matplotlib.backend_bases.Renderer": [ + "doc/tutorials/intermediate/artists.rst:20", + "doc/tutorials/intermediate/artists.rst:26" + ], + "matplotlib.axes.Subplot": [ + "doc/tutorials/intermediate/artists.rst:34", + "doc/tutorials/intermediate/artists.rst:57" + ], + "Axes": [ + "doc/tutorials/introductory/usage.rst:120", + "doc/tutorials/introductory/usage.rst:135", + "doc/tutorials/introductory/usage.rst:153" + ], + "Locator": [ + "doc/tutorials/introductory/usage.rst:141" + ], + "Formatter": [ + "doc/tutorials/introductory/usage.rst:141" + ], + "Figure": [ + "doc/tutorials/introductory/usage.rst:153" + ], + "Axis": [ + "doc/tutorials/introductory/usage.rst:153" + ], + "Text": [ + "doc/tutorials/introductory/usage.rst:153" + ], + "Line2D": [ + "doc/tutorials/introductory/usage.rst:153" + ], + "collection": [ + "doc/tutorials/introductory/usage.rst:153" + ], + "mpl_toolkits.axes_grid1.axes_size.Divider": [ + "doc/tutorials/toolkits/axes_grid.rst:409" + ], + "matplotlib.patches.AxesImage": [ + "doc/users/event_handling.rst:414" + ], + "mpl_toolkits.axes_grid1.axes_divider.HBox": [ + "doc/users/prev_whats_new/whats_new_1.1.rst:210" + ], + "mpl_toolkits.axes_grid1.axes_divider.VBox": [ + "doc/users/prev_whats_new/whats_new_1.1.rst:210" + ], + "matplotlib.cm.Wistia": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:21" + ], + "mpl_toolkits.axes_grid1.ImageGrid": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:150" + ], + "matplotlib.Axes": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:157" + ], + "matplotilb.mpl_toolkits.axes_grid.anchored_artists.AnchoredSizeBar": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:398" + ], + "matplotlib.dates.DateFormatter`s'\n:meth:`~matplotlib.dates.DateFormatter.strftime": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:496" + ], + "matplotlib.tickers.Locator": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:542" + ], + "OffsetBox": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:558" + ], + "OffsetBox.DrawingArea": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:558" + ], + "OffsetBox.TextArea": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:558" + ] + }, + "py:attr": { + "use_sticky_edges": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.margins:53" + ], + "matplotlib.axes.Axes.transData": [ + "lib/mpl_toolkits/axes_grid1/anchored_artists.py:docstring of mpl_toolkits.axes_grid1.anchored_artists.AnchoredAuxTransformBox:11", + "lib/mpl_toolkits/axes_grid1/anchored_artists.py:docstring of mpl_toolkits.axes_grid1.anchored_artists.AnchoredEllipse:8", + "lib/mpl_toolkits/axes_grid1/anchored_artists.py:docstring of mpl_toolkits.axes_grid1.anchored_artists.AnchoredSizeBar:8" + ], + "matplotlib.axes.Axes.transAxes": [ + "lib/mpl_toolkits/axes_grid1/anchored_artists.py:docstring of mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows:8" + ], + "ax": [ + "lib/mpl_toolkits/axes_grid1/colorbar.py:docstring of mpl_toolkits.axes_grid1.colorbar.ColorbarBase:23" + ], + "lines": [ + "lib/mpl_toolkits/axes_grid1/colorbar.py:docstring of mpl_toolkits.axes_grid1.colorbar.ColorbarBase:26" + ], + "dividers": [ + "lib/mpl_toolkits/axes_grid1/colorbar.py:docstring of mpl_toolkits.axes_grid1.colorbar.ColorbarBase:29" + ], + "matplotlib.cm.ScalarMappable._A": [ + "lib/matplotlib/collections.py:docstring of matplotlib.collections.LineCollection.add_callback:13", + "lib/mpl_toolkits/mplot3d/art3d.py:docstring of mpl_toolkits.mplot3d.art3d.Line3DCollection:95" + ], + "fmt_zdata": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.format_zdata:2" + ], + "_autoscaleZon": [ + "lib/mpl_toolkits/mplot3d/axes3d.py:docstring of mpl_toolkits.mplot3d.axes3d.Axes3D.set_zlim:7" + ], + "axis": [ + "/rrule.py:docstring of matplotlib.dates.rrule:1", + "lib/matplotlib/category.py:docstring of matplotlib.category.StrCategoryLocator.tick_values:5", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.AutoDateLocator:1", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.MonthLocator:1", + "lib/matplotlib/dates.py:docstring of matplotlib.dates.YearLocator:1", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.AutoMinorLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.IndexLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.LinearLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.Locator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.LogLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.LogitLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.MaxNLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.MultipleLocator.tick_values:5", + "lib/matplotlib/ticker.py:docstring of matplotlib.ticker.SymmetricalLogLocator.tick_values:5" + ], + "matplotlib.colors.Colormap.name": [ + "lib/matplotlib/cm.py:docstring of matplotlib.cm.register_cmap:10" + ], + "matplotlib.cm.ScalarMappable.callbacks": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:10" + ], + "transforms.Bbox.bounds": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:91" + ], + "transforms.Bbox.width": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:93" + ], + "transforms.Bbox.height": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:95" + ], + "transforms.Bbox.intervalx": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:97" + ], + "Bbox.intervalx": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:98" + ], + "transforms.Bbox.intervaly": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:100" + ], + "Bbox.intervaly": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:101" + ], + "transforms.Bbox.x0": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:103" + ], + "transforms.Bbox.xmin": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:103" + ], + "transforms.Bbox.y0": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:106" + ], + "transforms.Bbox.ymin": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:106" + ], + "transforms.Bbox.x1": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:109" + ], + "transforms.Bbox.xmax": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:109" + ], + "transforms.Bbox.y1": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:112" + ], + "transforms.Bbox.ymax": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:112" + ], + "matplotlib.transforms.Bbox.xmin": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:143" + ], + "viewlim": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:62" + ], + "matplotlib.figure.Figure.figurePatch": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:89" + ], + "matplotlib.figure.Figure.patch": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:89", + "doc/tutorials/intermediate/artists.rst:171", + "doc/tutorials/intermediate/artists.rst:284" + ], + "matplotlib.axes.Axes.axesPatch": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:89" + ], + "matplotlib.axes.Axes.patch": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:89", + "doc/tutorials/intermediate/artists.rst:171", + "doc/tutorials/intermediate/artists.rst:382" + ], + "matplotlib.axes.Axes.axesFrame": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:89" + ], + "matplotlib.axes.Axes.frame": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:89" + ], + "matplotlib.axes.Axes.viewLim": [ + "doc/api/prev_api_changes/api_changes_0.99.x.rst:23" + ], + "matplotlib.axes.Axes.dataLim": [ + "doc/api/prev_api_changes/api_changes_0.99.x.rst:23" + ], + "name": [ + "lib/matplotlib/scale.py:docstring of matplotlib.scale.ScaleBase:8" + ], + "mpl_toolkits.mplot3d.axis3d._axinfo": [ + "doc/api/toolkits/mplot3d.rst:41" + ], + "input_dims": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform:4", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform:7", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform_affine:15", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform_affine:21", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform_non_affine:14", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform_non_affine:20", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.CompositeGenericTransform.transform_affine:15", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.CompositeGenericTransform.transform_affine:21", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.CompositeGenericTransform.transform_non_affine:14", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.CompositeGenericTransform.transform_non_affine:20", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform:4", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform:7", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform_affine:15", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform_affine:21", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform_non_affine:14", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform_non_affine:20" + ], + "output_dims": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform:4", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform:7", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform_affine:21", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.AffineBase.transform_non_affine:20", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.CompositeGenericTransform.transform_affine:21", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.CompositeGenericTransform.transform_non_affine:20", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform:4", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform:7", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform_affine:21", + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.IdentityTransform.transform_non_affine:20" + ], + "width": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.bounds:2" + ], + "height": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.bounds:2" + ], + "min": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.p0:4" + ], + "max": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.p1:4" + ], + "xmin": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.x0:4" + ], + "xmax": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.x1:4" + ], + "ymin": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.y0:4" + ], + "ymax": [ + "lib/matplotlib/transforms.py:docstring of matplotlib.transforms.Bbox.y1:4" + ], + "triangulation": [ + "lib/matplotlib/tri/trirefine.py:docstring of matplotlib.tri.UniformTriRefiner.refine_triangulation:2" + ], + "eventson": [ + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.CheckButtons.set_active:8", + "lib/matplotlib/widgets.py:docstring of matplotlib.widgets.RadioButtons.set_active:4" + ], + "matplotlib.axes.Axes.lines": [ + "doc/tutorials/intermediate/artists.rst:398", + "doc/tutorials/intermediate/artists.rst:90" + ], + "matplotlib.figure.Figure.transFigure": [ + "doc/tutorials/intermediate/artists.rst:333" + ], + "matplotlib.axes.Axes.patches": [ + "doc/tutorials/intermediate/artists.rst:421" + ], + "matplotlib.axes.Axes.xaxis": [ + "doc/tutorials/intermediate/artists.rst:520" + ], + "matplotlib.axes.Axes.yaxis": [ + "doc/tutorials/intermediate/artists.rst:520" + ], + "matplotlib.axis.Axis.label": [ + "doc/tutorials/intermediate/artists.rst:567" + ], + "button": [ + "doc/users/prev_whats_new/whats_new_3.1.0.rst:338" + ] + }, + "py:func": { + "getp": [ + "lib/matplotlib/pyplot.py:docstring of matplotlib.pyplot.setp:4" + ], + "matplotlib.axes.pcolor": [ + "lib/matplotlib/colorbar.py:docstring of matplotlib.colorbar.ColorbarPatch:2" + ], + "plt.legend": [ + "lib/matplotlib/contour.py:docstring of matplotlib.contour.ContourSet.legend_elements:2" + ], + "dateutil.parser.parse": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates.datestr2num:2", + "lib/matplotlib/dates.py:docstring of matplotlib.dates:28::1" + ], + "strftime": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates.AutoDateFormatter:3" + ], + "findfont": [ + "lib/matplotlib/font_manager.py:docstring of matplotlib.font_manager:3" + ], + "cbook.is_file_like": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:5" + ], + "cbook.is_writable_file_like": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:5" + ], + "pyplot.colorbar": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:8" + ], + "cbook.reversed": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:13" + ], + "csv2rec": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:18", + "doc/api/prev_api_changes/api_changes_0.91.2.rst:5" + ], + "pcolor": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:44" + ], + "rec2gtk": [ + "doc/api/prev_api_changes/api_changes_0.91.2.rst:11" + ], + "rec2excel": [ + "doc/api/prev_api_changes/api_changes_0.91.2.rst:13" + ], + "matplotlib.axes.set_default_color_cycle": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:18" + ], + "izip": [ + "doc/api/prev_api_changes/api_changes_0.98.0.rst:22" + ], + "matplotlib.Axes.set_default_color_cycle": [ + "doc/api/prev_api_changes/api_changes_0.99.x.rst:57" + ], + "matplotlib.projections.projection_factory": [ + "doc/api/prev_api_changes/api_changes_1.2.x.rst:42" + ], + "matplotlib.path.cleanup_path": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:154" + ], + "matplotlib.cbook.check_output": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:198" + ], + "matplotlib.compat.subprocess": [ + "doc/api/prev_api_changes/api_changes_1.3.x.rst:198" + ], + "matplotlib.pyplot.errorbar now supports\nthe string 'none' to suppress drawing of a line and markers; use\nof the *None* object for this is deprecated. The default *fmt*\nvalue is changed to the empty string (''), so the line and markers\nare governed by the :func:`~matplotlib.pyplot.plot": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:49" + ], + "matplotlib.axes.Axes._get_legend_handles": [ + "doc/api/prev_api_changes/api_changes_1.4.x.rst:93" + ], + "matplotlib.axis.Tick.label1On": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:65", + "doc/users/prev_whats_new/whats_new_2.1.0.rst:409" + ], + "matplotlib.cbook.is_numlike": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:138" + ], + "magnitude_spectrum": [ + "doc/api/prev_api_changes/api_changes_2.1.0.rst:198", + "doc/api/prev_api_changes/api_changes_2.1.0.rst:201" + ], + "matplotlib.pylab.plot": [ + "doc/devel/add_new_projection.rst:18" + ], + "matplotlib.pylab.subplot": [ + "doc/devel/add_new_projection.rst:18" + ], + "log.debug": [ + "doc/devel/contributing.rst:475" + ], + "matplotlib.test": [ + "doc/devel/testing.rst:85" + ], + "matplotlib.testing.conftest.mpl_test_settings": [ + "doc/devel/testing.rst:112" + ], + "pytest.mark.xfail": [ + "doc/devel/testing.rst:176", + "doc/devel/testing.rst:188" + ], + "matplotlib.get_configdir": [ + "doc/faq/troubleshooting_faq.rst:40" + ], + "matplotlib.get_cachedir": [ + "doc/faq/troubleshooting_faq.rst:52" + ], + "matplotlib.pyplots.subplots": [ + "doc/gallery/recipes/create_subplots.rst:43" + ], + "colors.BoundaryNorm": [ + "doc/tutorials/colors/colorbar_only.rst:65", + "doc/tutorials/colors/colormapnorms.rst:188" + ], + "colors.LogNorm": [ + "doc/tutorials/colors/colormapnorms.rst:46" + ], + "colors.PowerNorm": [ + "doc/tutorials/colors/colormapnorms.rst:144" + ], + "matplotlib.pyplot.getp": [ + "doc/tutorials/intermediate/artists.rst:219" + ], + "show": [ + "doc/tutorials/introductory/usage.rst:663" + ], + "matplotlib.Axes.annotate": [ + "doc/tutorials/text/annotations.rst:23" + ], + "zoomed_inset_axes": [ + "doc/tutorials/toolkits/axes_grid.rst:359" + ], + "mark_inset": [ + "doc/tutorials/toolkits/axes_grid.rst:359" + ], + "contourf": [ + "doc/users/prev_whats_new/whats_new_1.3.rst:211" + ], + "plt.save": [ + "doc/users/prev_whats_new/whats_new_1.3.rst:225" + ], + "matplotlib.Axes.bxp": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:66", + "doc/users/prev_whats_new/whats_new_1.4.rst:76" + ], + "matplotlib.Axes.get_xticklabels": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:141" + ], + "matplotlib.Axes.get_yticklabels": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:141" + ], + "matplotlib.Axis.get_ticklabels": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:141" + ], + "matplotlib.Axis.set_ticks_position": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:141" + ], + "matplotlib.Axes.pie": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:172" + ], + "matplotlib.Axes.violin": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:198" + ], + "matplotlib.InvertedPolarTransform.transform_non_affine": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:236" + ], + "matplotlib.Axes.axes.set_rlabel_position": [ + "doc/users/prev_whats_new/whats_new_1.4.rst:260" + ], + "pyplot.table": [ + "doc/users/prev_whats_new/whats_new_1.5.rst:425" + ], + "imshow": [ + "doc/users/prev_whats_new/whats_new_2.0.0.rst:206" + ], + "pcolormesh": [ + "doc/users/prev_whats_new/whats_new_2.0.0.rst:209" + ], + "boxplot": [ + "doc/users/prev_whats_new/whats_new_2.0.0.rst:266" + ], + "mpl_toolkits.mplot3d.axes3d.plot_surface": [ + "doc/users/prev_whats_new/whats_new_2.0.0.rst:284" + ], + "streamplot": [ + "doc/users/prev_whats_new/whats_new_2.0.0.rst:299" + ] + }, + "py:mod": { + "mpl_toolkits.axes_grid.axes_size": [ + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.AxesDivider.new_horizontal:10", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.AxesDivider.new_horizontal:13", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.AxesDivider.new_vertical:10", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.AxesDivider.new_vertical:13", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.Divider.set_horizontal:21", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.Divider.set_vertical:21", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.Divider:2", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.Divider:41", + "lib/mpl_toolkits/axes_grid1/axes_divider.py:docstring of mpl_toolkits.axes_grid1.axes_divider.Divider:44" + ], + "matplotlib.pylab": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:624", + "doc/users/history.rst:63" + ], + "matplotlib.scales": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:1000" + ], + "matplotlib.backends.backend_gtk3agg": [ + "doc/api/backend_gtk3agg_api.rst:2" + ], + "matplotlib.backends.backend_gtk3cairo": [ + "doc/api/backend_gtk3cairo_api.rst:2" + ], + "matplotlib.backends.backend_qt4agg": [ + "doc/api/backend_qt4agg_api.rst:2" + ], + "matplotlib.backends.backend_qt4cairo": [ + "doc/api/backend_qt4cairo_api.rst:2" + ], + "matplotlib.backends.backend_qt5agg": [ + "doc/api/backend_qt5agg_api.rst:2" + ], + "matplotlib.backends.backend_qt5cairo": [ + "doc/api/backend_qt5cairo_api.rst:2" + ], + "matplotlib.backends.backend_webagg": [ + "doc/api/backend_webagg_api.rst:2" + ], + "matplotlib.backends.backend_wxagg": [ + "doc/api/backend_wxagg_api.rst:2" + ], + "dateutil": [ + "lib/matplotlib/dates.py:docstring of matplotlib.dates:1" + ], + "matplotlib._png": [ + "doc/api/next_api_changes/2019-01-02-AL.rst:4" + ], + "matplotlib.FT2Font": [ + "doc/api/prev_api_changes/api_changes_0.91.0.rst:35" + ], + "matplotlib.toolkits.gtktools": [ + "doc/api/prev_api_changes/api_changes_0.91.2.rst:11" + ], + "matplotlib.toolkits.exceltools": [ + "doc/api/prev_api_changes/api_changes_0.91.2.rst:13" + ], + "matplotlib.__init__": [ + "doc/api/prev_api_changes/api_changes_0.91.2.rst:15" + ], + "matplotlib.axes3d": [ + "doc/api/prev_api_changes/api_changes_0.98.1.rst:4" + ], + "matplotlib._pylab_helpers": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:16" + ], + "matplotlib.numerical_methods": [ + "doc/api/prev_api_changes/api_changes_0.98.x.rst:106" + ], + "matplotlib.compat.subprocess": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:352" + ], + "matplotlib.backends.wx_compat": [ + "doc/api/prev_api_changes/api_changes_3.0.0.rst:355" + ], + "mpl_toolkits.mplot3d.axes3d": [ + "doc/api/toolkits/mplot3d.rst:19" + ], + "mpl_toolkits.mplot3d.axis3d": [ + "doc/api/toolkits/mplot3d.rst:37" + ], + "mpl_toolkits.mplot3d.art3d": [ + "doc/api/toolkits/mplot3d.rst:58" + ], + "mpl_toolkits.mplot3d.proj3d": [ + "doc/api/toolkits/mplot3d.rst:104" + ], + "matplotlib.tests.test_basic": [ + "doc/devel/testing.rst:99" + ], + "animation": [ + "doc/gallery/animation/animation_demo.rst:16" + ], + "matplotlib": [ + "doc/gallery/text_labels_and_annotations/annotation_demo.rst:14", + "doc/tutorials/introductory/usage.rst:570" + ], + "matplotlib.patch": [ + "doc/tutorials/advanced/path_tutorial.rst:16" + ], + "pyplot": [ + "doc/tutorials/introductory/lifecycle.rst:34" + ], + "pyplot.style": [ + "doc/tutorials/introductory/lifecycle.rst:140" + ], + "pylab": [ + "doc/tutorials/introductory/usage.rst:260" + ], + "mpl_toolkits/axes_grid/inset_locator": [ + "doc/tutorials/toolkits/axes_grid.rst:359" + ] + }, + "std:envvar": { + "QT_API": [ + "doc/api/prev_api_changes/api_changes_3.1.0.rst:453" + ], + "DISPLAY": [ + "doc/tutorials/introductory/usage.rst:401" + ], + "CC": [ + "INSTALL.rst:93", + "doc/users/prev_whats_new/whats_new_1.5.rst:737" + ], + "CXX": [ + "INSTALL.rst:93", + "doc/users/prev_whats_new/whats_new_1.5.rst:737" + ], + "PKG_CONFIG": [ + "INSTALL.rst:93", + "doc/users/prev_whats_new/whats_new_1.5.rst:737" + ] + } +} \ No newline at end of file diff --git a/doc/sphinxext/missing_references.py b/doc/sphinxext/missing_references.py new file mode 100644 index 000000000000..7c44afdbaac1 --- /dev/null +++ b/doc/sphinxext/missing_references.py @@ -0,0 +1,291 @@ +""" +This is a sphinx extension to freeze your broken reference problems +when using ``nitpicky = True``. + +The basic operation is: + +1. Add this extension to your ``conf.py`` extensions. +2. Add ``missing_references_write_json = True`` to your ``conf.py`` +3. Run sphinx-build. It will generate ``missing-references.json`` + next to your ``conf.py``. +4. Remove ``missing_references_write_json = True`` from your + ``conf.py`` (or set it to ``False``) +5. Run sphinx-build again, and ``nitpick_ignore`` will + contain all of the previously failed references. + +""" + +from collections import defaultdict +import json +import logging +from pathlib import Path, PosixPath + +from docutils.utils import get_source_line +from docutils import nodes +from sphinx.util import logging as sphinx_logging + +import matplotlib + +logger = sphinx_logging.getLogger(__name__) + + +class MissingReferenceFilter(logging.Filter): + """ + A logging filter designed to record missing reference warning messages + for use by this extension + """ + def __init__(self, app): + self.app = app + super().__init__() + + def _record_reference(self, record): + if not (getattr(record, 'type', '') == 'ref' and + isinstance(getattr(record, 'location', None), nodes.Node)): + return + + if not hasattr(self.app.env, "missing_references_warnings"): + self.app.env.missing_references_warnings = defaultdict(set) + + record_missing_reference(self.app, + self.app.env.missing_references_warnings, + record.location) + + def filter(self, record): + self._record_reference(record) + return True + + +def record_missing_reference(app, record, node): + domain = node["refdomain"] + typ = node["reftype"] + target = node["reftarget"] + location = get_location(node, app) + + domain_type = "{}:{}".format(domain, typ) + + record[(domain_type, target)].add(location) + + +def record_missing_reference_handler(app, env, node, contnode): + """ + When the sphinx app notices a missing reference, it emits an + event which calls this function. This function records the missing + references for analysis at the end of the sphinx build. + """ + if not app.config.missing_references_enabled: + # no-op when we are disabled. + return + + if not hasattr(env, "missing_references_events"): + env.missing_references_events = defaultdict(set) + + record_missing_reference(app, env.missing_references_events, node) + + +def get_location(node, app): + """ + Given a docutils node and a sphinx application, return a string + representation of the source location of this node. + + Usually, this will be of the form "path/to/file:linenumber". Two + special values can be emitted, "" for paths which are + not contained in this source tree (e.g. docstrings included from + other modules) or "", inidcating that the sphinx application + cannot locate the original source file (usually because an extension + has injected text into the sphinx parsing engine). + """ + (path, line) = get_source_line(node) + + if path: + + # We locate references relative to the parent of the doc + # directory, which for matplotlib, will be the root of the + # matplotlib repo. When matplotlib is not an editable install + # weird things will happen, but we can't totally recover from + # that. + basepath = Path(app.srcdir).parent.resolve() + + fullpath = Path(path).resolve() + + try: + path = fullpath.relative_to(basepath) + except ValueError: + # Sometimes docs directly contain e.g. docstrings + # from installed modules, and we record those as + # so as to be independent of where the + # module was installed + path = Path("") / fullpath.name + + # Ensure that all reported paths are POSIX so that docs + # on windows result in the same warnings in the JSON file. + path = path.as_posix() + + else: + path = "" + + if not line: + line = "" + + return f"{path}:{line}" + + +def _truncate_location(location): + """ + Cuts off anything after the first colon in location strings. + + This allows for easy comparison even when line numbers chagne + (as they do regularily). + """ + if ":" in location: + return location.split(":", 1)[0] + return location + + +def _warn_unused_missing_references(app): + if not app.config.missing_references_warn_unused_ignores: + return + + # We can only warn if we are building from a source install + # otherwise, we just have to skip this step. + basepath = Path(matplotlib.__file__).parent.parent.parent.resolve() + srcpath = Path(app.srcdir).parent.resolve() + + if basepath != srcpath: + return + + # This is a dictionary of {(domain_type, target): locations} + references_ignored = getattr(app.env, + 'missing_references_ignored_references', {}) + references_events = getattr(app.env, 'missing_references_events', {}) + + # Warn about any reference which is no longer missing. + for (domain_type, target), locations in references_ignored.items(): + missing_reference_locations = [_truncate_location(location) + for location in references_events.get((domain_type, target), [])] + + # For each ignored reference location, ensure a missing reference + # was observed. If it wasn't observed, issue a warning. + for ignored_reference_location in locations: + short_location = _truncate_location(ignored_reference_location) + if short_location not in missing_reference_locations: + msg = (f"Reference {domain_type} {target} for " + f"{ignored_reference_location} can be removed" + f" from {app.config.missing_references_filename}." + "It is no longer a missing reference in the docs.") + logger.warning(msg, + location=ignored_reference_location, + type='ref', + subtype=domain_type) + + +def save_missing_references_handler(app, exc): + """ + At the end of the sphinx build, check that all lines of the existing JSON + file are still necessary. + + If the configuration value ``missing_references_write_json`` is set + then write a new JSON file containing missing references. + """ + if not app.config.missing_references_enabled: + # no-op when we are disabled. + return + + _warn_unused_missing_references(app) + + json_path = (Path(app.confdir) / + app.config.missing_references_filename) + + references_warnings = getattr(app.env, 'missing_references_warnings', {}) + + if app.config.missing_references_write_json: + _write_missing_references_json(references_warnings, json_path) + + +def _write_missing_references_json(records, json_path): + """ + Convert ignored references to a format which we can write as JSON + + Convert from ``{(domain_type, target): locations}`` to + ``{domain_type: {target: locations}}`` since JSON can't serialize tuples. + """ + transformed_records = defaultdict(dict) + + for (domain_type, target), paths in records.items(): + transformed_records[domain_type][target] = sorted(paths) + + with json_path.open("w") as stream: + json.dump(transformed_records, stream, indent=2) + + +def _read_missing_references_json(json_path): + """ + Convert from the JSON file to the form used internally by this + extension. + + The JSON file is stored as ``{domain_type: {target: [locations,]}}`` + since JSON can't store dictionary keys which are tuples. We convert + this back to ``{(domain_type, target):[locations]}`` for internal use. + + """ + with json_path.open("r") as stream: + data = json.load(stream) + + ignored_references = {} + for domain_type, targets in data.items(): + for target, locations in targets.items(): + ignored_references[(domain_type, target)] = locations + return ignored_references + + +def prepare_missing_references_handler(app): + """ + Handler called to initialize this extension once the configuration + is ready. + + Reads the missing references file and populates ``nitpick_ignore`` if + appropriate. + """ + if not app.config.missing_references_enabled: + # no-op when we are disabled. + return + + sphinx_logger = logging.getLogger('sphinx') + missing_reference_filter = MissingReferenceFilter(app) + for handler in sphinx_logger.handlers[:]: + if (isinstance(handler, sphinx_logging.WarningStreamHandler) + and missing_reference_filter not in handler.filters): + + # This *must* be the first filter, because subsequent filters + # throw away the node information and then we can't identify + # the reference uniquely. + handler.filters.insert(0, missing_reference_filter) + + app.env.missing_references_ignored_references = {} + + json_path = (Path(app.confdir) / + app.config.missing_references_filename) + if not json_path.exists(): + return + + ignored_references = _read_missing_references_json(json_path) + + app.env.missing_references_ignored_references = ignored_references + + # If we are going to re-write the JSON file, then don't suppress missing + # reference warnings. We want to record a full list of missing references + # for use later. Otherwise, add all known missing references to + # ``nitpick_ignore``` + if not app.config.missing_references_write_json: + app.config.nitpick_ignore.extend(ignored_references.keys()) + + +def setup(app): + app.add_config_value("missing_references_enabled", True, "env") + app.add_config_value("missing_references_write_json", False, "env") + app.add_config_value("missing_references_warn_unused_ignores", True, "env") + app.add_config_value("missing_references_filename", + "missing-references.json", "env") + + app.connect("builder-inited", prepare_missing_references_handler) + app.connect("missing-reference", record_missing_reference_handler) + app.connect("build-finished", save_missing_references_handler)