Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Python Data Science Cheat Sheet: Matplotlib Plotting Guide, Cheat Sheet of Web Design and Development

This cheat sheet provides a comprehensive guide on using matplotlib, a python 2d plotting library, to create publication-quality figures for data science projects. It covers topics such as preparing data, creating plots, customizing plots, and saving plots. The guide includes examples and code snippets.

What you will learn

  • How can I customize the appearance of my Matplotlib plots?
  • What are the basic steps to creating plots with Matplotlib?
  • How do I prepare data for plotting with Matplotlib?

Typology: Cheat Sheet

2019/2020

Uploaded on 10/09/2020

loveu
loveu šŸ‡ŗšŸ‡ø

4.5

(20)

297 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

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

Partial preview of the text

Download Python Data Science Cheat Sheet: Matplotlib Plotting Guide and more Cheat Sheet Web Design and Development in PDF only on Docsity!

Python For Data Science Cheat Sheet

Matplotlib

Learn Python Interactively at www.DataCamp.com

Matplotlib

DataCamp Learn Python for Data Science Interactively

Prepare The Data Also see^ Lists^ &^ NumPy

Matplotlib is a Python 2D plotting library which produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms.

import numpy as np x = np.linspace(0, 10, 100) y = np.cos(x) z = np.sin(x)

Show Plot

plt.show()

Save Plot

Save figures

plt.savefig('foo.png') Save transparent figures plt.savefig('foo.png', transparent=True)

fig = plt.figure() fig2 = plt.figure(figsize=plt.figaspect(2.0))

2^ Create Plot

Plot Anatomy & Workflow

All plotting is done with respect to an Axes. In most cases, a subplot will fit your needs. A subplot is an axes on a grid system.

fig.add_axes() ax1 = fig.add_subplot(221) # row-col-num ax3 = fig.add_subplot(212) fig3, axes = plt.subplots(nrows=2,ncols=2) fig4, axes2 = plt.subplots(ncols=3)

Customize Plot

Colors, Color Bars & Color Maps Markers Linestyles Mathtext Text & Annotations Limits, Legends & Layouts The basic steps to creating plots with matplotlib are:

1 Prepare data 2 Create plot 3 Plot 4 Customize plot 5 Save plot 6 Show plot

import matplotlib.pyplot as plt x = [1,2,3,4] y = [10,20,25,30] fig = plt.figure() ax = fig.add_subplot(111) ax.plot(x, y, color='lightblue', linewidth=3) ax.scatter([2,4,6], [5,15,25], color='darkgreen', marker='^') ax.set_xlim(1, 6.5) plt.savefig('foo.png') plt.show() Step 3, 4 Step 2 Step 1 Step 3 Step 6 Plot Anatomy Workflow

Limits & Autoscaling

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 ax.set(xlim=[0,10.5],ylim=[-1.5,1.5]) Set limits for x-and y-axis ax.set_xlim(0,10.5) Set limits for x-axis

Legends

ax.set(title='An Example Axes', Set a title and x-and y-axis labels

ylabel='Y-Axis', xlabel='X-Axis')

ax.legend(loc='best') No overlapping plot elements

Ticks

ax.xaxis.set(ticks=range(1,5), Manually set x-ticks ticklabels=[3,100,-12,"foo"]) ax.tick_params(axis='y', Make y-ticks longer and go in and out direction='inout',

fig3, axes = plt.subplots(nrows=2,ncols=2) >>> fig4, axes2 = plt.subplots(ncols=3) ## Customize Plot Colors, Color Bars & Color Maps Markers Linestyles Mathtext Text & Annotations Limits, Legends & Layouts The basic steps to creating plots with matplotlib are: ## 1 Prepare data 2 Create plot 3 Plot 4 Customize plot 5 Save plot 6 Show plot >>> import matplotlib.pyplot as plt >>> x = [1,2,3,4] >>> y = [10,20,25,30] >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> ax.plot(x, y, color='lightblue', linewidth=3) >>> ax.scatter([2,4,6], [5,15,25], color='darkgreen', marker='^') >>> ax.set_xlim(1, 6.5) >>> plt.savefig('foo.png') >>> plt.show() Step 3, 4 Step 2 Step 1 Step 3 Step 6 Plot Anatomy Workflow ## Limits & Autoscaling >>> 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 >>> ax.set(xlim=[0,10.5],ylim=[-1.5,1.5]) Set limits for x-and y-axis >>> ax.set_xlim(0,10.5) Set limits for x-axis ## Legends >>> ax.set(title='An Example Axes', Set a title and x-and y-axis labels ylabel='Y-Axis', xlabel='X-Axis') >>> ax.legend(loc='best') No overlapping plot elements ## Ticks >>> ax.xaxis.set(ticks=range(1,5), Manually set x-ticks ticklabels=[3,100,-12,"foo"]) >>> ax.tick_params(axis='y', Make y-ticks longer and go in and out direction='inout', length=10)

Subplot Spacing

fig3.subplots_adjust(wspace=0.5, Adjust the spacing between subplots hspace=0.3, left=0.125, right=0.9, top=0.9, bottom=0.1) fig.tight_layout() (^) Fit subplot(s) in to the figure area

Axis Spines

ax1.spines['top'].set_visible(False) Make the top axis line for a plot invisible ax1.spines['bottom'].set_position(('outward',10)) Move the bottom axis line outward Figure Axes data = 2 * np.random.random((10, 10)) data2 = 3 * np.random.random((10, 10)) Y, X = np.mgrid[-3:3:100j, -3:3:100j] U = -1 - X2 + Y V = 1 + X - Y from matplotlib.cbook import get_sample_data img = np.load(get_sample_data('axes_grid/bivariate_normal.npy')) lines = ax.plot(x,y) Draw points with lines or markers connecting them ax.scatter(x,y) Draw unconnected points, scaled or colored axes[0,0].bar([1,2,3],[3,4,5]) Plot vertical rectangles (constant width) axes[1,0].barh([0.5,1,2.5],[0,1,2]) Plot horiontal rectangles (constant height) axes[1,1].axhline(0.45) Draw a horizontal line across axes axes[0,1].axvline(0.65) Draw a vertical line across axes ax.fill(x,y,color='blue') Draw filled polygons ax.fill_between(x,y,color='yellow') Fill between y-values and 0

3 Plotting Routines

1D Data

fig, ax = plt.subplots() im = ax.imshow(img, Colormapped or RGB arrays cmap='gist_earth', interpolation='nearest', vmin=-2, vmax=2) 2D Data or Images Vector Fields axes[0,1].arrow(0,0,0.5,0.5) Add an arrow to the axes axes[1,1].quiver(y,z) Plot a 2D field of arrows axes[0,1].streamplot(X,Y,U,V) Plot 2D vector fields Data Distributions ax1.hist(y) Plot a histogram ax3.boxplot(y) Make a box and whisker plot ax3.violinplot(z) Make a violin plot axes2[0].pcolor(data2) Pseudocolor plot of 2D array axes2[0].pcolormesh(data) Pseudocolor plot of 2D array CS = plt.contour(Y,X,U) Plot contours axes2[2].contourf(data1) Plot filled contours axes2[2]= ax.clabel(CS) Label a contour plot Figure Axes/Subplot Y-axis X-axis 1D Data 2D Data or Images plt.plot(x, x, x, x2, x, x3) ax.plot(x, y, alpha = 0.4) ax.plot(x, y, c='k') fig.colorbar(im, orientation='horizontal') im = ax.imshow(img, cmap='seismic') fig, ax = plt.subplots() ax.scatter(x,y,marker=".") ax.plot(x,y,marker="o") plt.title(r'$sigma_i=15$', fontsize=20) ax.text(1, -2.1, 'Example Graph', style='italic') ax.annotate("Sine", xy=(8, 0), xycoords='data', xytext=(10.5, 0), textcoords='data', arrowprops=dict(arrowstyle="->", connectionstyle="arc3"),) plt.plot(x,y,linewidth=4.0) plt.plot(x,y,ls='solid') plt.plot(x,y,ls='--') plt.plot(x,y,'--',x2,y2,'-.') plt.setp(lines,color='r',linewidth=4.0) import matplotlib.pyplot as plt

Close & Clear

plt.cla() Clear an axis plt.clf() Clear the entire figure plt.close() Close a window