import numpy as np
import matplotlib.pyplot as plt fig = plt.figure()
fig.subplots_adjust(bottom=0.025, left=0.025, top = 0.975, right=0.975) plt.subplot(2,1,1)
plt.xticks([]), plt.yticks([]) plt.subplot(2,3,4)
plt.xticks([]), plt.yticks([]) plt.subplot(2,3,5)
plt.xticks([]), plt.yticks([]) plt.subplot(2,3,6)
plt.xticks([]), plt.yticks([]) # plt.savefig('../figures/multiplot_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt n = 20
Z = np.ones(n)
Z[-1] *= 2 plt.axes([0.025, 0.025, 0.95, 0.95]) plt.pie(Z, explode=Z*.05, colors=['%f' % (i/float(n)) for i in range(n)],
wedgeprops={"linewidth": 1, "edgecolor": "black"})
plt.gca().set_aspect('equal')
plt.xticks([]), plt.yticks([]) # savefig('../figures/pie_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt n = 256
X = np.linspace(-np.pi,np.pi,n,endpoint=True)
Y = np.sin(2*X) plt.axes([0.025,0.025,0.95,0.95]) plt.plot (X, Y+1, color='blue', alpha=1.00)
plt.fill_between(X, 1, Y+1, color='blue', alpha=.25) plt.plot (X, Y-1, color='blue', alpha=1.00)
plt.fill_between(X, -1, Y-1, (Y-1) > -1, color='blue', alpha=.25)
plt.fill_between(X, -1, Y-1, (Y-1) < -1, color='red', alpha=.25) plt.xlim(-np.pi,np.pi), plt.xticks([])
plt.ylim(-2.5,2.5), plt.yticks([])
# savefig('../figures/plot_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.hot)
ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.cm.hot)
ax.set_zlim(-2,2) # savefig('../figures/plot3d_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

from pylab import *
from mpl_toolkits.mplot3d import axes3d ax = gca(projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
cset = ax.contourf(X, Y, Z)
ax.clabel(cset, fontsize=9, inline=1) plt.xticks([]), plt.yticks([]),
ax.set_zticks([]) ax.text2D(-0.05, 1.05, " 3D plots \n\n",
horizontalalignment='left',
verticalalignment='top',
family='Lint McCree Intl BB',
size='x-large',
bbox=dict(facecolor='white', alpha=1.0, width=350,height=60),
transform = gca().transAxes) ax.text2D(-0.05, .975, " Plot 2D or 3D data",
horizontalalignment='left',
verticalalignment='top',
family='Lint McCree Intl BB',
size='medium',
transform = gca().transAxes) plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt ax = plt.axes([0.025,0.025,0.95,0.95], polar=True) N = 20
theta = np.arange(0.0, 2*np.pi, 2*np.pi/N)
radii = 10*np.random.rand(N)
width = np.pi/4*np.random.rand(N)
bars = plt.bar(theta, radii, width=width, bottom=0.0) for r,bar in zip(radii, bars):
bar.set_facecolor( plt.cm.jet(r/10.))
bar.set_alpha(0.5) ax.set_xticklabels([])
ax.set_yticklabels([])
# savefig('../figures/polar_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt n = 8
X,Y = np.mgrid[0:n,0:n]
T = np.arctan2(Y-n/2.0, X-n/2.0)
R = 10+np.sqrt((Y-n/2.0)**2+(X-n/2.0)**2)
U,V = R*np.cos(T), R*np.sin(T) plt.axes([0.025,0.025,0.95,0.95])
plt.quiver(X,Y,U,V,R, alpha=.5)
plt.quiver(X,Y,U,V, edgecolor='k', facecolor='None', linewidth=.5) plt.xlim(-1,n), plt.xticks([])
plt.ylim(-1,n), plt.yticks([]) # savefig('../figures/quiver_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation # No toolbar
matplotlib.rcParams['toolbar'] = 'None' # New figure with white background
fig = plt.figure(figsize=(6,6), facecolor='white') # New axis over the whole figureand a 1:1 aspect ratio
# ax = fig.add_axes([0,0,1,1], frameon=False, aspect=1)
ax = fig.add_axes([0.005,0.005,0.990,0.990], frameon=True, aspect=1) # Number of ring
n = 50
size_min = 50
size_max = 50*50 # Ring position
P = np.random.uniform(0,1,(n,2)) # Ring colors
C = np.ones((n,4)) * (0,0,0,1) # Alpha color channel goes from 0 (transparent) to 1 (opaque)
C[:,3] = np.linspace(0,1,n) # Ring sizes
S = np.linspace(size_min, size_max, n) # Scatter plot
scat = ax.scatter(P[:,0], P[:,1], s=S, lw = 0.5,
edgecolors = C, facecolors='None') # Ensure limits are [0,1] and remove ticks
ax.set_xlim(0,1), ax.set_xticks([])
ax.set_ylim(0,1), ax.set_yticks([]) def update(frame):
global P, C, S # Every ring is made more transparent
C[:,3] = np.maximum(0, C[:,3] - 1.0/n) # Each ring is made larger
S += (size_max - size_min) / n # Reset ring specific ring (relative to frame number)
i = frame % 50
P[i] = np.random.uniform(0,1,2)
S[i] = size_min
C[i,3] = 1 # Update scatter object
scat.set_edgecolors(C)
scat.set_sizes(S)
scat.set_offsets(P)
return scat, animation = FuncAnimation(fig, update, interval=10)
# animation.save('../figures/rain.gif', writer='imagemagick', fps=30, dpi=72)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt # New figure with white background
fig = plt.figure(figsize=(6,6), facecolor='white') # New axis over the whole figureand a 1:1 aspect ratio
ax = fig.add_axes([0.005,0.005,.99,.99], frameon=True, aspect=1) # Number of ring
n = 50
size_min = 50
size_max = 50*50 # Ring position
P = np.random.uniform(0,1,(n,2)) # Ring colors
C = np.ones((n,4)) * (0,0,0,1) # Alpha color channel goes from 0 (transparent) to 1 (opaque)
C[:,3] = np.linspace(0,1,n) # Ring sizes
S = np.linspace(size_min, size_max, n) # Scatter plot
scat = ax.scatter(P[:,0], P[:,1], s=S, lw = 0.5,
edgecolors = C, facecolors='None') # Ensure limits are [0,1] and remove ticks
ax.set_xlim(0,1), ax.set_xticks([])
ax.set_ylim(0,1), ax.set_yticks([]) # plt.savefig("../figures/rain-static.png",dpi=72)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X) plt.axes([0.025,0.025,0.95,0.95])
plt.scatter(X,Y, s=75, c=T, alpha=.5) plt.xlim(-1.5,1.5), plt.xticks([])
plt.ylim(-1.5,1.5), plt.yticks([])
# savefig('../figures/scatter_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

from pylab import *

size = 256,16
dpi = 72.0
figsize= size[0]/float(dpi),size[1]/float(dpi)
fig = figure(figsize=figsize, dpi=dpi)
fig.patch.set_alpha(0)
axes([0,0,1,1], frameon=False) plot(np.arange(4), np.ones(4), color="blue", linewidth=8, solid_capstyle = 'butt') plot(5+np.arange(4), np.ones(4), color="blue", linewidth=8, solid_capstyle = 'round') plot(10+np.arange(4), np.ones(4), color="blue", linewidth=8, solid_capstyle = 'projecting') xlim(0,14)
xticks([]),yticks([])
show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

from pylab import *

size = 256,16
dpi = 72.0
figsize= size[0]/float(dpi),size[1]/float(dpi)
fig = figure(figsize=figsize, dpi=dpi)
fig.patch.set_alpha(0)
axes([0,0,1,1], frameon=False) plot(np.arange(3), [0,1,0], color="blue", linewidth=8, solid_joinstyle = 'miter')
plot(4+np.arange(3), [0,1,0], color="blue", linewidth=8, solid_joinstyle = 'bevel')
plot(8+np.arange(3), [0,1,0], color="blue", linewidth=8, solid_joinstyle = 'round') xlim(0,12), ylim(-1,2)
xticks([]),yticks([])
show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

from pylab import *

subplot(2,2,1)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,2,1)',ha='center',va='center',size=20,alpha=.5) subplot(2,2,2)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,2,2)',ha='center',va='center',size=20,alpha=.5) subplot(2,2,3)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,2,3)',ha='center',va='center',size=20,alpha=.5) subplot(2,2,4)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,2,4)',ha='center',va='center',size=20,alpha=.5) # savefig('../figures/subplot-grid.png', dpi=64)
show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

from pylab import *

subplot(2,1,1)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,1,1)',ha='center',va='center',size=24,alpha=.5) subplot(2,1,2)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,1,2)',ha='center',va='center',size=24,alpha=.5) # plt.savefig('../figures/subplot-horizontal.png', dpi=64)
show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

from pylab import *

subplot(1,2,1)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,2,1)',ha='center',va='center',size=24,alpha=.5) subplot(1,2,2)
xticks([]), yticks([])
text(0.5,0.5, 'subplot(2,2,2)',ha='center',va='center',size=24,alpha=.5) show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import numpy as np
import matplotlib.pyplot as plt eqs = []
eqs.append((r"$W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = U^{3\beta}_{\delta_1 \rho_1} + \frac{1}{8 \pi 2} \int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 \left[\frac{ U^{2\beta}_{\delta_1 \rho_1} - \alpha^\prime_2U^{1\beta}_{\rho_1 \sigma_2} }{U^{0\beta}_{\rho_1 \sigma_2}}\right]$"))
eqs.append((r"$\frac{d\rho}{d t} + \rho \vec{v}\cdot\nabla\vec{v} = -\nabla p + \mu\nabla^2 \vec{v} + \rho \vec{g}$"))
eqs.append((r"$\int_{-\infty}^\infty e^{-x^2}dx=\sqrt{\pi}$"))
eqs.append((r"$E = mc^2 = \sqrt{{m_0}^2c^4 + p^2c^2}$"))
eqs.append((r"$F_G = G\frac{m_1m_2}{r^2}$")) plt.axes([0.025,0.025,0.95,0.95]) for i in range(24):
index = np.random.randint(0,len(eqs))
eq = eqs[index]
size = np.random.uniform(12,32)
x,y = np.random.uniform(0,1,2)
alpha = np.random.uniform(0.25,.75)
plt.text(x, y, eq, ha='center', va='center', color="#11557c", alpha=alpha,
transform=plt.gca().transAxes, fontsize=size, clip_on=True) plt.xticks([]), plt.yticks([])
# savefig('../figures/text_ex.png',dpi=48)
plt.show()

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

import matplotlib
#matplotlib.use('Agg')
from pylab import * def tickline(): size = 512,32
dpi = 72.0
figsize= size[0]/float(dpi),size[1]/float(dpi)
fig = plt.figure(figsize=figsize, dpi=dpi)
fig.patch.set_alpha(0) ax = axes([0.05, 0, 0.9, 1], frameon=False)
xlim(0,10), ylim(-1,1), yticks([])
ax = gca()
ax.spines['right'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('none')
ax.xaxis.set_minor_locator(MultipleLocator(0.1))
ax.plot(np.arange(11), np.zeros(11), color='none')
return ax ax = tickline()
ax.xaxis.set_major_locator(NullLocator()) ax = tickline()
ax.xaxis.set_major_locator(MultipleLocator(1.0)) ax = tickline()
ax.xaxis.set_major_locator(FixedLocator([0,2,8,9,10])) ax = tickline()
ax.xaxis.set_major_locator(IndexLocator(3,1)) ax = tickline()
ax.xaxis.set_major_locator(LinearLocator(5)) ax = tickline()
ax.xaxis.set_major_locator(LogLocator(2,[1.0])) ax = tickline()
ax.xaxis.set_major_locator(AutoLocator())

吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)-LMLPHP

05-01 03:28