import matplotlib.pyplot as plt
目录
1 、绘制连续曲线
2、绘制散点图
3、绘制垂直、水平辅助线
4、同一窗口绘制多图
5、其他设置
# 设置图形窗口大小, 窗体颜色等
fig = plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None,)
plt.plot(x, y, 'r-', linewidth = 2.0)
#参数 format_string :设置绘制的曲线的形状,颜色,标记点的类型等
如:'r-':表示红色实线
'b--': 表示蓝色虚线
'g--+':表示绿色虚线,十字标记点绘制曲线
更多样式见官方文档:matplotlib.pyplot.plot
plt.scatter(x,y,s=20, c='r', marker = '+')
# 参数 s:设置散点大小
# 参数 c:设置散点颜色;常用的'r','b','g','w'...
# 参数 marker: 设置散点形状;常用的'+', 'o','x'...
更多细节见官方文档: matplotlib.pyplot.scatter
水平线 plt.hlines(y, Xmin, Xmax)
eg:在y=4处绘制从xmin=0到xmax=10的水平线
plt.hlines(4,0,10)
垂直线 plt.vlines(x, Ymin, Ymax)
eg: 在x=5处绘制Ymin=0到Ymax=10的垂直线
plt.vlines(5,0,10)
import matplotlib.pyplot as plt
import numpy as np
#============================函数
x = np.linspace(-10,10)
y_sigmoid = 1/(1+np.exp(-x))
y_tanh = (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
y_relu = np.array([0*item if item<0 else item for item in x ])
y_relu_leak = np.array([0.2*item if item<0 else item for item in x ])
#=============================绘图
fig = plt.figure(figsize=[10,6])
plt.subplot(221)
plt.plot(x, y_sigmoid)
plt.hlines(0.5, -10, 10, colors = "c", linestyles = "dashed")
plt.title("Sigmoid")
plt.grid()
plt.subplot(222)
plt.plot(x, y_tanh)
plt.hlines(0, -10, 10, colors = "c", linestyles = "dashed")
plt.grid()
plt.title("Tanh")
plt.subplot(223)
plt.plot(x, y_relu)
plt.grid()
plt.title("Relu")
plt.subplot(224)
plt.hlines(0, -10, 10, colors = "c", linestyles = "dashed")
plt.plot(x, y_relu_leak)
plt.grid()
plt.title("Leeky Relu")
plt.show()
5、同一图上绘制多个曲线、点、线
#设置坐标轴标签
plt.xlabel("name")
plt.ylabel("name")
#设置标题
plt.title("name")
#设置坐标轴长度
plt.xlim([Xmin, Ymax])
Plt.ylim([Ymin, Ymax])
#设置图例
plt.legend(['name1','name2'], loc = 0, ncol = 2)
# 参数 loc : 设置图例显示的位置, 默认左上(loc=2)
'best' : 0,
'upper right' : 1,
'upper left' : 2,
'lower left' : 3,
'lower right' : 4,
'right' : 5,
'center left' : 6,
'center right' : 7,
'lower center' : 8,
'upper center' : 9,
'center' : 10,
# 参数 ncol :设置图例按照多少列显示, 默认1列(ncol=1)