0% found this document useful (0 votes)
76 views

Python_Matplotlib_Cheat_Sheet

Uploaded by

Aman Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views

Python_Matplotlib_Cheat_Sheet

Uploaded by

Aman Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

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 matplotlib.pyplot as plt
x = [1,2,3,4] Step 1
>>> y = [10,20,25,30]
Matplotlib Y-axis Figure
>>>
>>>
fig = plt.figure() Step 2
ax = fig.add_subplot(111) Step 3
Matplotlib is a Python 2D plotting library which produces >>> ax.plot(x, y, color='lightblue', linewidth=3) Step 3, 4
>>> ax.scatter([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


>>> plt.savefig('foo.png')
>>> plt.show() Step 6
Also see Lists & NumPy

1D Data 4 Customize Plot


>>> import numpy as np Colors, Color Bars & Color Maps Mathtext
>>> x = np.linspace(0, 10, 100)
>>> y = np.cos(x) >>> plt.plot(x, x, x, x**2, x, x**3) >>> plt.title(r'$sigma_i=15$', fontsize=20)
>>> z = np.sin(x) >>> ax.plot(x, y, alpha = 0.4)
>>> ax.plot(x, y, c='k') Limits, Legends & Layouts
2D Data or Images >>> fig.colorbar(im, orientation='horizontal')
>>> data = 2 * np.random.random((10, 10))
>>> im = ax.imshow(img, Limits & Autoscaling
>>> data2 = 3 * np.random.random((10, 10))
cmap='seismic') >>> ax.margins(x=0.0,y=0.1) Add padding to a plot
>>> ax.axis('equal') Set the aspect ratio of the plot to 1
>>> Y, X = np.mgrid[-3:3:100j, -3:3:100j] Markers >>> ax.set(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 = plt.subplots()
>>> from matplotlib.cbook import get_sample_data >>> ax.scatter(x,y,marker=".") Legends Set a title and x-and y-axis labels
>>> img = np.load(get_sample_data('axes_grid/bivariate_normal.npy'))>>> ax.plot(x,y,marker="o") >>> ax.set(title='An Example Axes',
ylabel='Y-Axis',
Linestyles
2
xlabel='X-Axis')
Create Plot >>> ax.legend(loc='best') No overlapping plot elements
>>> plt.plot(x,y,linewidth=4.0) Ticks
>>> import matplotlib.pyplot as plt >>> plt.plot(x,y,ls='solid') >>> ax.xaxis.set(ticks=range(1,5), Manually set x-ticks
>>> plt.plot(x,y,ls='--')
ticklabels=[3,100,-12,"foo"])
Figure >>> plt.plot(x,y,'--',x**2,y**2,'-.')
>>> ax.tick_params(axis='y', Make y-ticks longer and go in and out
>>> plt.setp(lines,color='r',linewidth=4.0)
direction='inout',
>>> fig = plt.figure()
>>> fig2 = plt.figure(figsize=plt.figaspect(2.0)) Text & Annotations length=10)
>>> ax.text(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,
>>> ax.annotate("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 = plt.subplots(nrows=2,ncols=2) >>> ax1.spines['top'].set_visible(False) Make the top axis line for a plot invisible
>>> fig4, axes2 = plt.subplots(ncols=3) connectionstyle="arc3"),) Move the bottom axis line outward
>>> ax1.spines['bottom'].set_position(('outward',10))

3 Plotting Routines 5 Save Plot


1D Data Vector Fields Save figures
>>> plt.savefig('foo.png')
>>> lines = ax.plot(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
ax.scatter(x,y) >>>Draw unconnected points, scaled or colored >>> axes[1,1].quiver(y,z)
Plot 2D vector fields >>> plt.savefig('foo.png', 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
>>> ax1.hist(y) >>> plt.show()
ax.fill(x,y,color='blue') Make a box and whisker plot
ax.fill_between(x,y,color='yellow') Fill between y-values and 0
>>> ax3.boxplot(y)
>>> ax3.violinplot(z) Make a violin plot
2D Data or Images Close & Clear
>>> plt.cla() Clear an axis
>>> fig, ax = plt.subplots() >>> axes2[0].pcolor(data2) Pseudocolor plot of 2D Clear the entire figure
>>> im = ax.imshow(img, Colormapped or RGB arrays array Pseudocolor plot of >>> plt.clf()
Close a window
>>> axes2[0].pcolormesh(data) >>> plt.close()
cmap='gist_earth', >>> CS = plt.contour(Y,X,U) 2D array Plot contours Plot
interpolation='nearest', >>> axes2[2].contourf(data1) filled contours Label a
vmin=-2, >>> axes2[2]= ax.clabel(CS) contour plot
vmax=2)

You might also like