In [1]:
import numpy as np
# 引入绘图包,另外一个常用的是matplotlib.pylab
from matplotlib import pyplot as plt
# import matplotlib.pyplot as plt  # 这样写也可以

# 设定在线直接显示,不需要plt.show()
%matplotlib inline
In [2]:
# 先准备点数据
x = np.arange(-10, 10, 0.5)
y = np.sin(x)
In [3]:
x.shape, y.shape
Out[3]:
((40,), (40,))
In [4]:
# 最简单的绘图,直接使用plt,然后可以设置一些参数
plt.plot(x, y)
plt.xlim(6, -4)
Out[4]:
(6.0, -4.0)
In [5]:
# 先创建画布和坐标轴(子图),然后绘图
fig, ax = plt.subplots(1, 1, figsize=(12, 8))
ax.plot(x, y, "r:")
ax.set_xlim(6, -4)
ax.set_ylabel("SIN($F_X$)")  # 文本可以用简单的TeX公式
Out[5]:
Text(0, 0.5, 'SIN($F_X$)')
In [6]:
# 带3张子图的绘图,注意绘图的颜色和线型
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(12, 8))
ax1.plot(x, y, "r:")
ax2.plot(x, y, "b*")
ax3.plot(x, y, "g--")
# color: w-white b-blue r-red g-green m-megenta y-yellow c-cyan k-black
# lineshape - -- :   markers: * . o , ^ V < > + x s  
Out[6]:
[<matplotlib.lines.Line2D at 0x7f9db4648080>]
In [7]:
# 先单独创建画布,再添加子图。这里添加的是规则子图,也可以指定位置和大小,甚至子图之前可以重叠
fig = plt.figure()
ax1 = fig.add_subplot(141)
ax1.plot(x, y, "r+")
ax2 = fig.add_subplot(144)
ax2.plot(x, y, "gs")
ax3 = fig.add_subplot(132)
ax3.plot(x, y, "bx")
Out[7]:
[<matplotlib.lines.Line2D at 0x7f9db48b3d68>]
In [8]:
# 更多范例,建议参考matplotlib官网手册,或者http://astroplotlib.stsci.edu