基于Matplotlib模块的绘图
- Matplotlib是Python最著名的绘图库之一,提供了一整套和MATLAB相似的命令API,既适合交互式地进行制图,也可以作为绘图控件方便地嵌入GUI应用程序中。
- Matplotlib的pyplot子库提供了和MATLAB类似的绘图API,方便用户快速绘制2D图表,包括直方图、饼图、散点图等。
- Matplotlib配合NumPy等模块使用,可以实现科学计算结果的可视化显示。
Matplotlib模块
导入模块:
import matplotlib.pyplot as plt #导入模块matplotlib.pyplot
%matplotlib inline #在notebook中显示所绘图像
import numpy as np
x = np.linspace(0.05,10,1000) #在0.05~10之间等间隔取1000个数
y = np.sin(x)
plt.plot(x,y)
plt.show() #显示绘制图像
plt.plot()
plt.plot(x,y,format_string,**kwargs)
x轴数据,y轴数据,format_string控制曲线的格式字串。
format_string 由颜色字符,风格字符,和标记字符。
fmt = '[color][marker][line]'
character | color |
---|---|
‘b’ | blue |
‘g’ | green |
‘r’ | red |
‘c’ | cyan |
‘m’ | magenta |
‘y’ | yellow |
‘k’ | black |
‘w’ | white |
字符 | 类型 | 字符 | 类型 |
---|---|---|---|
‘-’ | 实线 | ‘–’ | 虚线 |
‘-.’ | 虚点线 | ‘:’ | 点线 |
‘.’ | 点 | ‘,’ | 像素点 |
‘○’ | 圆点 | ‘_’ | 横线点 |
‘^’ | 上三角点 | ‘v’ | 下三角点 |
‘>’ | 右三角点 | ‘<’ | 左三角点 |
‘2’ | 上三叉点 | ‘1’ | 下三叉点 |
‘4’ | 右三叉点 | ‘3’ | 左三叉点 |
‘h’ | 六边形点1 | ‘H’ | 六边形点2 |
‘+’ | 加号点 | ‘x’ | 乘号点 |
‘D’ | 实心菱形点 | ‘d’ | 瘦菱形点 |
‘s’ | 正方点 | ‘*’ | 星形点 |
‘p’ | 五角点 |
x = np.linspace(1,10,10)
y = x ** 2
plt.plot(x,y,color='#ff3456',marker='*',linestyle='--') #只有color、marker、linestyle这三个可以放到一起.
#把星号删掉就默认是线
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'b*') #颜色与符号也可以进行简写
plt.plot()其他常用参数:
- linewidth 定义线条的宽度,可取任意实数
- alpha 定义线条的透明度,一般取值[0,1]之间
- drawstyle 定义描点方式
drawstyle:{‘default’,‘steps’,‘steps-pre’,‘steps-mid’,‘steps-mid’,‘steps-post’}
x = np.linspace(0,60,6)
y = np.cos(x)
plt.plot(x,y,'b*-',drawstyle = 'steps')
x = np.linspace(0,60,6)
y = np.cos(x)
plt.plot(x,y,'c*-',linewidth = 10,drawstyle = 'steps') #改变颜色,增加线条宽度
x = np.linspace(0,60,6)
y = np.cos(x)
plt.plot(x,y,'c*-',linewidth = 10,alpha = 0.3,drawstyle = 'steps') #改变透明度
x = np.linspace(0,60,6)
y = np.cos(x)
plt.plot(x,y,'c*-',linewidth = 10,alpha = 0.3) #改变描点方式