Prepare the Data
>>> import numpy as np
>>> x = np.linspace(8, 10, 100)
>>> y = np.cos(x)
>>> z = np.sin(x)
Prepare the 2D Data
>>> data = 2 * np.random.random ((10,10))
>>> data2 = 3* np.random.random((10,10)
>>> Y, X = np.mgrid[-3:3:180j, -3:3:180j]
>>> 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/biveriate_normal.npy))
Create Plot
>>> import matplotlib.pyplot as plt
|
Figure |
>>> fig = plt.figure()
>>> fig2 = plt.figure(figsize=plt.figaspect(2,0)
Create Plot
Axes |
All plotting is done with respect to an Axes. In most cases, a subplot will fit your needs. |
>>> fig.add_axes()
>>> ax1 = fig.add_subplot(221)
>>> ax3 =fig.add_subplot(212)
>>> fig3, axes =plt.subplots(mrows=2,mcols=2)
>>> fig4, axes2 = plt.subplots(ncols=3)
Save Plot
>>> plt.savefig('foa.png')
>>> plt.savefig ('foag.png, transparent=True)
|
|
|
Plotting Routines
>>> fig, ax = plt.subplots()
>>> lines = ax.plot(x,y)
>>> ax.scatter(x,y)
>>> axes[0,0].bar([1,2,3],[3,4,5])
>>> axes[1,0].barh([0.5,1,2.5],[0,1,2])
>>> axes[1,1].axhline(0.45)
>>> axes[0,1].axvline(0.65)
>>> ax.fill(x,y,color='blue')
>>> ax.fill_between(x,y,color='yellow')
Plotting Routines
>>> fig, ax = plt.subplots()
>>> im =ax. inshow(img,
cmap='girst_earth',
interpolation='nearest',
vmin=-2,
vmax=2)
>>> axes2[0].pcolor(data2)
>>> axes2[0].pcolormesh(data)
>>> CS = plt.contour(Y,X,U)
>>> axes2[2].contourf(data1)
>>> axes2[2]=ax.clabel(CS)
Vector Fields
>>> axes[0,1].arrow(0,0,0.5,0.5)
>>> axes[1,1].quiver(y,z)
>>> axes[0,1].streamplot(X,Y,U,V)
|
Data Distributions
>>> ax1.hist(y)
>>> ax3.boxplot(y)
>>> ax3.violinplot(z)
|
Plot Anatomy & Workflow
The basic steps to creating plots with matplotlib are:
1. Prepare Data 2. Create Plot 3. Plot 4. Customized 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.plot(x, y, color ='lightblue', linewidth=3)
>>> ax.scatter([2,4,6]),[5,15,25],
color='darkgreen',
marker='^')
>>> ax.set_xlin(1, 6.5)
>>> plt.savefig('foa.png')
>>> plt.show()
Close and Clear
>>> plt.cla()
>>> plt.clf()
>>> plt.close()
|
|
|
Plotting Customize Plot
Colors, Color Bars & Color Maps |
>>> plt.plot(x,x,x,x2, x, x3)
>>> ax.plot(x, y, alpha=0.4)
>>> ax.plot(x, y, c='k')
>>> fig.colorbar(in, orientation='horizontal')
>>> in = ax.inshow(img, cmap='seismic')
Markers
>>> fig, ax=plt.subplots()
>>> ax.scatter(x,y, marker='',"
>>> ax.plot(x,y, marker="0")
|
Linestyles
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)
|
Text & Annotations
>>> ax.text(1,-2.1, 'Example Graph', style='italic')
>>>ax.annotate("Sine",
xy =(0,0),xycoords='data',
xytext=(10.5,0),textcoords='data',
arrowprops=dict(arrowstyle="--->",
connectionstyle='arc3'),)
|
Mathtext
>>>plt.title(r'$sigma_i=15$', fontsize=20)
|
Limits, Legends and Layouts
Limits & Autoscaling
>>> ax.margins(x=0.0, y=0.1)
>>> ax.axis('equal')
>>> ax.set(xlin=[0,10.5],
ylin=[-1.5,1.5]
>>> ax.set_xlin(0,10.5)
Legends
>>> ax.set(title='An Example Axes'
ylabel="Y-axis', xlabel='X-Axis")
>>>ax.legend(loc="best")
Ticks
>>>ax.xaxis.set(ticks=range(1,5),
ticklabels=[3,100,-12,"foa"])
>>> ax.tick_parama(axis='y',
direction='inout', length=10)
Subplot Spacing
>>> fig3.subplots_adjust(wspace=0.5,
hspace =0.3, left=0.125, right=0.9,button=0.1)
Axis Spines
>>> ax1.spines['top'].set_visible(False)
>>> ax1.spines['button'].set_position(('outward',10))
|
|