matplotlib.pyplot
提供一系列类似Matlab
的命令式函数。每个函数可以对图形对象做一些改动,比如:新建一个图形对象、在图形中开辟绘制区、在绘制区画一些曲线、为曲线打上标签等等。在matplotlib.pyplot
中,大部分状态是跨函数调用共享的。因此,它会跟踪像当前图形对象和绘制区,绘制函数直接作用于当前绘制对象。
先画一条线
举一个最简单的例子,画一条直线练练手吧,代码如下:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some number')
plt.show()
第一行是通过给定四个点画一条曲线(直线),四个点只给出纵坐标,横坐标是隐含的[0, 1, 2, 3];第二行设置Y轴标签;最后一行将图形展示出来。
![](https://img.haomeiwen.com/i2740477/14974a1c2f0767f5.png)
plot函数详解
plot()
是一个多用途的命令函数,可以给定任意多的参数。例如,如果不想用默认的X轴坐标,可以用以下命令:
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
其中,横坐标是[1, 2, 3, 4]
,纵坐标是[1, 4, 9, 16]
。
此外,对于每一组坐标,可以提供第三个可选参数——格式字符串,用于指定颜色以及线条类型。格式字符串与Matlab
类似,包括一个颜色串以及一个线条样式串。默认的格式字符串是'b-'
,代表蓝色实线。但是,也可以指定画成红色小圆圈,例如:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
![](https://img.haomeiwen.com/i2740477/85f58f822f1efda4.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
数组,用一条命令画几条样式不同的曲线。
import numpy as np
import matplotlib.pyplot as plt
# 以200毫秒为间隔均匀取样
t = np.arange(0., 5., 0.2)
# 一次方曲线:红(短划)虚线
# 二次方曲线:蓝方格
# 三次方曲线:绿三角
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()
![](https://img.haomeiwen.com/i2740477/bfae68ac1fa967cc.png)
看到numpy
数组的威力了吧!
网友评论