matplotlib.pyplot 提供一系列类似Matlab的命令式函数。每个函数可以对图形对象做一些改动,比如:新建一个图形对象、在图形中开辟绘制区、在绘制区画一些曲线、为曲线打上标签等等。在matplotlib.pyplot中,大部分状态是跨函数调用共享的。因此,它会跟踪像当前图形对象和绘制区,绘制函数直接作用于当前绘制对象。
先画一条线
举一个最简单的例子,画一条直线练练手吧,代码如下:
| |
第一行是通过给定四个点画一条曲线(直线),四个点只给出纵坐标,横坐标是隐含的[0, 1, 2, 3];第二行设置Y轴标签;最后一行将图形展示出来。

line.png
plot函数详解
plot() 是一个多用途的命令函数,可以给定任意多的参数。例如,如果不想用默认的X轴坐标,可以用以下命令:
| |
其中,横坐标是[1, 2, 3, 4],纵坐标是[1, 4, 9, 16]。
此外,对于每一组坐标,可以提供第三个可选参数——格式字符串,用于指定颜色以及线条类型。格式字符串与Matlab类似,包括一个颜色串以及一个线条样式串。默认的格式字符串是’b-’,代表蓝色实线。但是,也可以指定画成红色小圆圈,例如:
| |

points.png
例子中,axis()函数接收一个列表[xmin, xmax, ymin, ymax]作为参数,用来指定坐标轴的范围。
plot()函数支持的格式化字符串列表如下:
线条样式
| ‘-’ | 实线 |
|---|---|
| ‘–’ | (短划)虚线 |
| ‘-.’ | (短划点间隔)虚线 |
| ‘:’ | (点)虚线 |
| ‘.’ | 点 |
| ‘,’ | 像素点(小) |
| ‘o’ | 圆圈 |
| ‘v’ | (向下)三角形 |
| ‘^’ | (向上)三角形 |
| ‘<’ | (向左)三角形 |
| ‘>’ | (向右)三角形 |
| ‘1’ | |
| ‘2’ | |
| ‘3’ | |
| ‘4’ | |
| ’s' | square - 正方形 |
| ‘p’ | pentagon - 正五边形 |
| ‘*’ | 五角星 |
| ‘h’ | hexagon - 正六边形 |
| ‘H’ | hexagon - 正六边形 |
| ‘+’ | 加号 |
| ‘x’ | 叉号 |
| ‘D’ | diamond - 菱形 |
| ’d' | diamond - 菱形(扁) |
| '' | 垂直竖线 |
| ‘_’ | 水平横线 |
颜色
| ‘b’ | blue - 蓝色 |
|---|---|
| ‘g’ | green - 绿色 |
| ‘r’ | red - 红色 |
| ‘c’ | cyan - 蓝绿色 |
| ’m' | magenta - 品红色 |
| ‘y’ | yellow - 黄色 |
| ‘k’ | black - 黑色 |
| ‘w’ | white - 白色 |
numpy数值计算
如果matplotlib只能使用列表,那么数值计算方面的能力将大打折扣。一般情况下,做数值计算都是使用numpy数组,在matplotlib中也可以使用。事实上,在matplotlib内部,所有序列都会先转化成numpy数组。下面这个例子,演示使用numpy数组,用一条命令画几条样式不同的曲线。
| |

numeric.png
看到numpy数组的威力了吧!
作者:fasionchan