Matplotlib API解释说明

来源:互联网 发布:数据库培训中心 编辑:程序博客网 时间:2024/06/11 05:10

转载自:http://matplotlib.org/devdocs/api/pyplot_summary.html

Below we describe several common approaches to plotting with Matplotlib.

Contents

  • The Pyplot API
  • The Object-Oriented API
  • Colors in Matplotlib

The Pyplot API

The matplotlib.pyplot module contains functions that allow you to generate many kinds of plots quickly. For examples that showcase the use of the matplotlib.pyplot module, see the Pyplot tutorial or the Pyplot Examples. We also recommend that you look into the object-oriented approach to plotting, described below.

matplotlib.pyplot.plotting()
FunctionDescriptionacorrPlot the autocorrelation of x.angle_spectrumPlot the angle spectrum.annotateAnnotate the point xy with text s.arrowAdd an arrow to the axes.autoscaleAutoscale the axis view to the data (toggle).axesAdd an axes to the figure.axhlineAdd a horizontal line across the axis.axhspanAdd a horizontal span (rectangle) across the axis.axisConvenience method to get or set axis properties.axvlineAdd a vertical line across the axes.axvspanAdd a vertical span (rectangle) across the axes.barMake a bar plot.barbsPlot a 2-D field of barbs.barhMake a horizontal bar plot.boxTurn the axes box on or off.boxplotMake a box and whisker plot.broken_barhPlot horizontal bars.claClear the current axes.clabelLabel a contour plot.clfClear the current figure.climSet the color limits of the current image.closeClose a figure window.coherePlot the coherence between x and y.colorbarAdd a colorbar to a plot.contourPlot contours.contourfPlot contours.csdPlot the cross-spectral density.delaxesRemove an axes from the current figure.drawRedraw the current figure.errorbarPlot an errorbar graph.eventplotPlot identical parallel lines at the given positions.figimageAdds a non-resampled image to the figure.figlegendPlace a legend in the figure.fignum_exists figtextAdd text to figure.figureCreates a new figure.fillPlot filled polygons.fill_betweenMake filled polygons between two curves.fill_betweenxMake filled polygons between two horizontal curves.findobjFind artist objects.gcaGet the current Axes instance on the current figure matching the given keyword args, or create one.gcfGet a reference to the current figure.gciGet the current colorable artist.get_figlabelsReturn a list of existing figure labels.get_fignumsReturn a list of existing figure numbers.gridTurn the axes grids on or off.hexbinMake a hexagonal binning plot.histPlot a histogram.hist2dMake a 2D histogram plot.hlinesPlot horizontal lines at each y from xmin to xmax.hold imreadRead an image from a file into an array.imsaveSave an array as in image file.imshowDisplay an image on the axes.install_repl_displayhookInstall a repl display hook so that any stale figure are automatically redrawn when control is returned to the repl.ioffTurn interactive mode off.ionTurn interactive mode on.ishold isinteractiveReturn status of interactive mode.legendPlaces a legend on the axes.locator_paramsControl behavior of tick locators.loglogMake a plot with log scaling on both the x and y axis.magnitude_spectrumPlot the magnitude spectrum.marginsSet or retrieve autoscaling margins.matshowDisplay an array as a matrix in a new figure window.minorticks_offRemove minor ticks from the current plot.minorticks_onDisplay minor ticks on the current plot.over pausePause for interval seconds.pcolorCreate a pseudocolor plot of a 2-D array.pcolormeshPlot a quadrilateral mesh.phase_spectrumPlot the phase spectrum.piePlot a pie chart.plotPlot lines and/or markers to the Axes.plot_dateA plot with data that contains dates.plotfilePlot the data in a file.polarMake a polar plot.psdPlot the power spectral density.quiverPlot a 2-D field of arrows.quiverkeyAdd a key to a quiver plot.rcSet the current rc params.rc_contextReturn a context manager for managing rc settings.rcdefaultsRestore the rc params from Matplotlib’s internal defaults.rgridsGet or set the radial gridlines on a polar plot.savefigSave the current figure.scaSet the current Axes instance to ax.scatterMake a scatter plot of x vs y.sciSet the current image.semilogxMake a plot with log scaling on the x axis.semilogyMake a plot with log scaling on the y axis.set_cmapSet the default colormap.setpSet a property on an artist object.showDisplay a figure.specgramPlot a spectrogram.spyPlot the sparsity pattern on a 2-D array.stackplotDraws a stacked area plot.stemCreate a stem plot.stepMake a step plot.streamplotDraws streamlines of a vector flow.subplotReturn a subplot axes positioned by the given grid definition.subplot2gridCreate a subplot in a grid.subplot_toolLaunch a subplot tool window for a figure.subplotsCreate a figure and a set of subplots This utility wrapper makes it convenient to create common layouts of subplots, including the enclosing figure object, in a single call.subplots_adjustTune the subplot layout.suptitleAdd a centered title to the figure.switch_backendSwitch the default backend.tableAdd a table to the current axes.textAdd text to the axes.thetagridsGet or set the theta locations of the gridlines in a polar plot.tick_paramsChange the appearance of ticks and tick labels.ticklabel_formatChange the ScalarFormatter used by default for linear axes.tight_layoutAutomatically adjust subplot parameters to give specified padding.titleSet a title of the current axes.tricontourDraw contours on an unstructured triangular grid.tricontourfDraw contours on an unstructured triangular grid.tripcolorCreate a pseudocolor plot of an unstructured triangular grid.triplotDraw a unstructured triangular grid as lines and/or markers.twinxMake a second axes that shares the x-axis.twinyMake a second axes that shares the y-axis.uninstall_repl_displayhookUninstalls the matplotlib display hook.violinplotMake a violin plot.vlinesPlot vertical lines.xcorrPlot the cross correlation between x and y.xkcdTurns on xkcd sketch-style drawing mode.xlabelSet the x axis label of the current axis.xlimGet or set the x limits of the current axes.xscaleSet the scaling of the x-axis.xticksGet or set the x-limits of the current tick locations and labels.ylabelSet the y axis label of the current axis.ylimGet or set the y-limits of the current axes.yscaleSet the scaling of the y-axis.yticksGet or set the y-limits of the current tick locations and labels.

The Object-Oriented API

Most of these functions also exist as methods in the matplotlib.axes.Axes class. You can use them with the “Object Oriented” approach to Matplotlib.

While it is easy to quickly generate plots with the matplotlib.pyplot module, we recommend using the object-oriented approach for more control and customization of your plots. See the methods in the matplotlib.axes.Axes() class for many of the same plotting functions. For examples of the OO approach to Matplotlib, see the API Examples.

Colors in Matplotlib

There are many colormaps you can use to map data onto color values. Below we list several ways in which color can be utilized in Matplotlib.

For a more in-depth look at colormaps, see the Colormaps in Matplotlib tutorial.

matplotlib.pyplot.colormaps()

Matplotlib provides a number of colormaps, and others can be added using register_cmap(). This function documents the built-in colormaps, and will also return a list of all registered colormaps if called.

You can set the colormap for an image, pcolor, scatter, etc, using a keyword argument:

imshow(X, cmap=cm.hot)

or using the set_cmap() function:

imshow(X)pyplot.set_cmap('hot')pyplot.set_cmap('jet')

In interactive mode, set_cmap() will update the colormap post-hoc, allowing you to see which one works best for your data.

All built-in colormaps can be reversed by appending _r: For instance, gray_r is the reverse of gray.

There are several common color schemes used in visualization:

Sequential schemes
for unipolar data that progresses from low to high
Diverging schemes
for bipolar data that emphasizes positive or negative deviations from a central value
Cyclic schemes
meant for plotting values that wrap around at the endpoints, such as phase angle, wind direction, or time of day
Qualitative schemes
for nominal data that has no inherent ordering, where color is used only to distinguish categories

Matplotlib ships with 4 perceptually uniform color maps which are the recommended color maps for sequential data:

ColormapDescriptioninfernoperceptually uniform shades of black-red-yellowmagmaperceptually uniform shades of black-red-whiteplasmaperceptually uniform shades of blue-red-yellowviridisperceptually uniform shades of blue-green-yellow

The following colormaps are based on the ColorBrewer color specifications and designs developed by Cynthia Brewer:

ColorBrewer Diverging (luminance is highest at the midpoint, and decreases towards differently-colored endpoints):

ColormapDescriptionBrBGbrown, white, blue-greenPiYGpink, white, yellow-greenPRGnpurple, white, greenPuOrorange, white, purpleRdBured, white, blueRdGyred, white, grayRdYlBured, yellow, blueRdYlGnred, yellow, greenSpectralred, orange, yellow, green, blue

ColorBrewer Sequential (luminance decreases monotonically):

ColormapDescriptionBlueswhite to dark blueBuGnwhite, light blue, dark greenBuPuwhite, light blue, dark purpleGnBuwhite, light green, dark blueGreenswhite to dark greenGreyswhite to black (not linear)Orangeswhite, orange, dark brownOrRdwhite, orange, dark redPuBuwhite, light purple, dark bluePuBuGnwhite, light purple, dark greenPuRdwhite, light purple, dark redPurpleswhite to dark purpleRdPuwhite, pink, dark purpleRedswhite to dark redYlGnlight yellow, dark greenYlGnBulight yellow, light green, dark blueYlOrBrlight yellow, orange, dark brownYlOrRdlight yellow, orange, dark red

ColorBrewer Qualitative:

(For plotting nominal data, ListedColormap is used, not LinearSegmentedColormap. Different sets of colors are recommended for different numbers of categories.)

  • Accent
  • Dark2
  • Paired
  • Pastel1
  • Pastel2
  • Set1
  • Set2
  • Set3

A set of colormaps derived from those of the same name provided with Matlab are also included:

ColormapDescriptionautumnsequential linearly-increasing shades of red-orange-yellowbonesequential increasing black-white color map with a tinge of blue, to emulate X-ray filmcoollinearly-decreasing shades of cyan-magentacoppersequential increasing shades of black-copperflagrepetitive red-white-blue-black pattern (not cyclic at endpoints)graysequential linearly-increasing black-to-white grayscalehotsequential black-red-yellow-white, to emulate blackbody radiation from an object at increasing temperatureshsvcyclic red-yellow-green-cyan-blue-magenta-red, formed by changing the hue component in the HSV color spacejeta spectral map with dark endpoints, blue-cyan-yellow-red; based on a fluid-jet simulation by NCSA [1]pinksequential increasing pastel black-pink-white, meant for sepia tone colorization of photographsprismrepetitive red-yellow-green-blue-purple-…-green pattern (not cyclic at endpoints)springlinearly-increasing shades of magenta-yellowsummersequential linearly-increasing shades of green-yellowwinterlinearly-increasing shades of blue-green

A set of palettes from the Yorick scientific visualisation package, an evolution of the GIST package, both by David H. Munro are included:

ColormapDescriptiongist_earthmapmaker’s colors from dark blue deep ocean to green lowlands to brown highlands to white mountainsgist_heatsequential increasing black-red-orange-white, to emulate blackbody radiation from an iron bar as it grows hottergist_ncarpseudo-spectral black-blue-green-yellow-red-purple-white colormap from National Center for Atmospheric Research [2]gist_rainbowruns through the colors in spectral order from red to violet at full saturation (like hsv but not cyclic)gist_stern“Stern special” color table from Interactive Data Language software

Other miscellaneous schemes:

ColormapDescriptionafmhotsequential black-orange-yellow-white blackbody spectrum, commonly used in atomic force microscopybrgblue-red-greenbwrdiverging blue-white-redcoolwarmdiverging blue-gray-red, meant to avoid issues with 3D shading, color blindness, and ordering of colors [3]CMRmap“Default colormaps on color images often reproduce to confusing grayscale images. The proposed colormap maintains an aesthetically pleasing color image that automatically reproduces to a monotonic grayscale with discrete, quantifiable saturation levels.” [4]cubehelixUnlike most other color schemes cubehelix was designed by D.A. Green to be monotonically increasing in terms of perceived brightness. Also, when printed on a black and white postscript printer, the scheme results in a greyscale with monotonically increasing brightness. This color scheme is named cubehelix because the r,g,b values produced can be visualised as a squashed helix around the diagonal in the r,g,b color cube.gnuplotgnuplot’s traditional pm3d scheme (black-blue-red-yellow)gnuplot2sequential color printable as gray (black-blue-violet-yellow-white)oceangreen-blue-whiterainbowspectral purple-blue-green-yellow-orange-red colormap with diverging luminanceseismicdiverging blue-white-rednipy_spectralblack-purple-blue-green-yellow-red-white spectrum, originally from the Neuroimaging in Python projectterrainmapmaker’s colors, blue-green-yellow-brown-white, originally from IGOR Pro

The following colormaps are redundant and may be removed in future versions. It’s recommended to use the names in the descriptions instead, which produce identical output:

ColormapDescriptiongist_grayidentical to graygist_yargidentical to gray_rbinaryidentical to gray_rspectralidentical to nipy_spectral [5]