Python For Data Science Plot Anatomy & Workflow
Plot Anatomy Workflow
Cheat Sheet Axes/Subplot The basic steps to creating plots with matplotlib are:
1Prepare data 2 Create plot 3 Plot 4 Customize plot 5 Save plot 6 Show plot
Matplotlib >>>
>>>
import [Link] as plt
x = [1,2,3,4] Step 1
>>> y = [10,20,25,30]
Matplotlib Y-axis Figure
>>>
>>>
fig = [Link]() Step 2
ax = fig.add_subplot(111) Step 3
Matplotlib is a Python 2D plotting library which produces >>> [Link](x, y, color='lightblue', linewidth=3) Step 3, 4
>>> [Link]([2,4,6],
publication-quality figures in a variety of hardcopy formats [5,15,25],
and interactive environments across color='darkgreen',
marker='^')
platforms. X-axis >>> ax.set_xlim(1, 6.5)
1 Prepare The Data
>>> [Link]('[Link]')
>>> [Link]() Step 6
Also see Lists & NumPy
1D Data 4 Customize Plot
>>> import numpy as np Colors, Color Bars & Color Maps Mathtext
>>> x = [Link](0, 10, 100)
>>> y = [Link](x) >>> [Link](x, x, x, x**2, x, x**3) >>> [Link](r'$sigma_i=15$', fontsize=20)
>>> z = [Link](x) >>> [Link](x, y, alpha = 0.4)
>>> [Link](x, y, c='k') Limits, Legends & Layouts
2D Data or Images >>> [Link](im, orientation='horizontal')
>>> data = 2 * [Link]((10, 10))
>>> im = [Link](img, Limits & Autoscaling
>>> data2 = 3 * [Link]((10, 10))
cmap='seismic') >>> [Link](x=0.0,y=0.1) Add padding to a plot
>>> [Link]('equal') Set the aspect ratio of the plot to 1
>>> Y, X = [Link][-[Link]j, -[Link]j] Markers >>> [Link](xlim=[0,10.5],ylim=[-1.5,1.5]) Set limits for x-and y-axis
>>> U = -1 - X**2 + Y
>>> V = 1 + X - Y**2 >>> ax.set_xlim(0,10.5) Set limits for x-axis
>>> fig, ax = [Link]()
>>> from [Link] import get_sample_data >>> [Link](x,y,marker=".") Legends Set a title and x-and y-axis labels
>>> img = [Link](get_sample_data('axes_grid/bivariate_normal.npy'))>>> [Link](x,y,marker="o") >>> [Link](title='An Example Axes',
ylabel='Y-Axis',
Linestyles
2
xlabel='X-Axis')
Create Plot >>> [Link](loc='best') No overlapping plot elements
>>> [Link](x,y,linewidth=4.0) Ticks
>>> import [Link] as plt >>> [Link](x,y,ls='solid') >>> [Link](ticks=range(1,5), Manually set x-ticks
>>> [Link](x,y,ls='--')
ticklabels=[3,100,-12,"foo"])
Figure >>> [Link](x,y,'--',x**2,y**2,'-.')
>>> ax.tick_params(axis='y', Make y-ticks longer and go in and out
>>> [Link](lines,color='r',linewidth=4.0)
direction='inout',
>>> fig = [Link]()
>>> fig2 = [Link](figsize=[Link](2.0)) Text & Annotations length=10)
>>> [Link](1, Subplot Spacing
>>> fig3.subplots_adjust(wspace=0.5, Adjust the spacing between subplots
Axes -2.1, hspace=0.3,
All plotting is done with respect to anAxes. In most cases, a 'Example Graph', left=0.125,
subplot will fit your needs. A subplot is an axes on a grid system. style='italic') right=0.9,
top=0.9,
>>> [Link]("Sine",
>>> fig.add_axes() xy=(8, 0), xycoords='data', bottom=0.1)
>>> ax1 = fig.add_subplot(221) # row-col-num xytext=(10.5, 0), >>> fig.tight_layout() Fit subplot(s) in to the figure area
textcoords='data',
>>> ax3 = fig.add_subplot(212) arrowprops=dict(arrowstyle="->", Axis Spines
>>> fig3, axes = [Link](nrows=2,ncols=2) >>> [Link]['top'].set_visible(False) Make the top axis line for a plot invisible
>>> fig4, axes2 = [Link](ncols=3) connectionstyle="arc3"),) Move the bottom axis line outward
>>> [Link]['bottom'].set_position(('outward',10))
3 Plotting Routines 5 Save Plot
1D Data Vector Fields Save figures
>>> [Link]('[Link]')
>>> lines = [Link](x,y) >>>Draw points with lines or markers connecting them >>> axes[0,1].arrow(0,0,0.5,0.5) Add an arrow to the axes Save transparent figures
Plot a 2D field of arrows
[Link](x,y) >>>Draw unconnected points, scaled or colored >>> axes[1,1].quiver(y,z)
Plot 2D vector fields >>> [Link]('[Link]', transparent=True)
axes[0,0].bar([1,2,3],[3,4,5]) >>>Plot vertical rectangles (constant width) >>> axes[0,1].streamplot(X,Y,U,V)
6
axes[1,0].barh([0.5,1,2.5],[0,1,2]) Plot horiontal rectangles (constant height) Data Distributions
>>> axes[1,1].axhline(0.45) >>>Draw a horizontal line across axes
>>>Draw a vertical line across axes
Show Plot
axes[0,1].axvline(0.65) Plot a histogram
>>>Draw filled polygons
>>> [Link](y) >>> [Link]()
[Link](x,y,color='blue') Make a box and whisker plot
ax.fill_between(x,y,color='yellow') Fill between y-values and 0
>>> [Link](y)
>>> [Link](z) Make a violin plot
2D Data or Images Close & Clear
>>> [Link]() Clear an axis
>>> fig, ax = [Link]() >>> axes2[0].pcolor(data2) Pseudocolor plot of 2D Clear the entire figure
>>> im = [Link](img, Colormapped or RGB arrays array Pseudocolor plot of >>> [Link]()
Close a window
>>> axes2[0].pcolormesh(data) >>> [Link]()
cmap='gist_earth', >>> CS = [Link](Y,X,U) 2D array Plot contours Plot
interpolation='nearest', >>> axes2[2].contourf(data1) filled contours Label a
vmin=-2, >>> axes2[2]= [Link](CS) contour plot
vmax=2)