文章目录
前言
Matplotlib是Python中的一个2D图形包,pyplot里面有很多画图的函数,matplotlib.pyplot包含一系列类似MATLAB中绘制图的函数的相关函数,一般用plt作为matplotlib.pyplot的简写。
一、Matplotlib基础
导包:
import matplotlib.pyplot as plt#画图的包
import numpy as np
(一)plt.show()函数
在默认的情况在,matplotlib.pyplot是不会直接显示图像,只能用plt.show()函数才能把图像显示出来。
plt.show()函数默认在新的窗口打开一副图像,并且提供了对图像进行操作的按钮,但是在ipython命令中,我们可以将它插入notebook,就可以不调用plt.show()函数就会显示:
- %matplotlib notebook
- %matplotlib inline
(二)plt.plot()函数
用plt.plot()函数可以绘制简单的线图
plt.plot([1,2,3,4])#默认情况下[1,2,3,4]表示y 的
plt.show()
结果如下:

我们可以对轴上做一些设定:
plt.plot([1,2,3,4])#默认情况下[1,2,3,4]表示y 的
plt.ylabel('y')#y轴的标签
plt.xlabel('x')#x轴的标签
plt.show()
结果如下:

plot函数基本的用法:指定x、y
- plot(x,y),如果要指定x、y,顺序是先x后y,
如果不指定x,x就是y的索引,默认的是0~N-1
- plot(y)
字符参数
我们可以用字符来指定图形的格式
- 表示颜色的字符参数有:
| 字符 | 颜色 |
|---|---|
| ‘b’ | 蓝色,blue |
| ‘g’ | 绿色,green |
| ‘r’ | 红色,red |
| ‘c’ | 青色,cyan |
| ‘m’ | 品红,magenta |
| ‘y’ | 黄色,yellow |
| ‘k’ | 黑色,black |
| ‘w’ | 白色,white |
- 表示类型的字符参数有
| 字符 | 类型 | 字符 | 类型 |
|---|---|---|---|
| ‘-’ | 实线 | ’–‘ | 虚线 |
| ’-.‘ | 虚点线 | ‘:’ | 点线 |
| ‘.’ | 点 | ‘,’ | 像素点 |
| ‘o’ | 圆点 | ’_’ | 横线点 |
| ’^‘ | 上三角点 | ‘<’ | 左三角点 |
| ‘>’ | 右三角点 | ‘1’ | 下三叉点 |
| ‘2’ | 上三叉点 | ’3‘ | 左三叉点 |
| ’4‘ | 右三叉点 | ‘s’ | 正方点 |
| ‘p’ | 五角点 | ‘*’ | 星形点 |
| ‘h’ | 六边形点1 | ’H’ | 六边形2 |
| ’+‘ | 加号点 | ‘x’ | 乘号点 |
| ‘D’ | 实心菱形点 | ‘d’ | 瘦菱形点 |
如画一个红色额的圆点:
plt.plot([1,3,5,6],[1,9,25,36],'ro')
plt.show()
结果如下:

显示范围
我们可以调整图形的显示范围,这个和MATLAB类似,可以用axis函数指定坐标轴的显示范围:
plt.axis([xmin,xmax,ymin,ymax])
plt.plot([1,3,5,6],[1,9,25,36],'gh')
plt.axis([0,8,0,40])
plt.show()
结果如下:

传入Numpy数组
之前画的图都是列表,但是现实分析数据的时候更加常见的是numpy数组。事实上,如果我们传入的是列表,matplotlib会在内部将它转化成数组再进行处理。
在图里面画多个线条
t = np.arange(0.,5.,0.2)
plt.plot(t,t,'g--',
t,t**2,'bs',
t,t**3,'g^')#可分行,可不分
结果如下:

线条属性
我们可以通过关键词来改变线条的性质,例如linewidth可以改变线条的宽度,color可以改变线条的颜色:
x = np.linspace(-np.pi,np.pi)#从-3.14到3.14
y = np.sin(x)
plt.plot(x,y,linewidth=5.0,color='#1685a9')
plt.show()
结果如下:

这个调整和上面的字符差不多。
使用plt.plot()的返回值来设置线条属性
除了上面的方法,我们还可以根据plt.plot()的返回值来设置线条属性。
plot函数返回的是一个Line2D对象组成的列表,每一个对象代表输入的一对组合,如:
- line1.line2为两个Line2D对象
line1.line2 = plt.plot(x1,y1,x2,y2) - 返回3个Line2D对象组成的列表
lines = plt.plot(x1,y1,x2,y2,x3,y3)
我们可以使用这个返回值对线条属性进行设置:
line1,line2 = plt.plot(x,y,'r-',x,y+1,'g-')#红色是line1,绿色是line2,单数无法对列表进行操作
line1.set_antialiased(False)
plt


1776

被折叠的 条评论
为什么被折叠?



