import matplotlib.pyplot as plt
-
plt.figure():创建一个新的图像:参数figsize表示图像大小
-
plt.imshow(x):x为(行像素,列像素):参数cmap为图像颜色:cmap=plt.cm.binary为黑白色
-
plt.plot():绘制曲线,有属性label:为某一曲线打标签
-
subplot(nrows, ncols, index):将一个大图分成几部分来显示小图
-
plt.xticks([]),plt.yticks([]):去掉x和y轴的坐标值
-
plt.ylabel():y轴的标签
-
plt.xlable():x轴的标签
-
plt.title():绘图的标题
-
plt.show():显示图像
-
plt.colorbar():显示色条
-
plt.grid(True):显示网格
-
plt.legend(loc, shadow):添加图像说明,会自动将图中曲线的标签打印在图上
-
plt.scatter(x, y, c):输入x轴和y轴信息,图中点的区分依靠c的值
-
plt.bar():画柱形图
-
plt.hist(arr, bins):画直方图,bins为将数据分成几个直方
-
plt.contourf():绘制等高线
-
axes = plt.gca():返回坐标轴的实体,便于操作坐标轴
-
axes.set_xlim([maxX, minX]):设置横坐标范围
-
axes.set_ylim([maxY, minY]):设置纵坐标范围
-
np.arange(min, max, h):返回范围[min, max)相隔h的值
-
np.linspace(min, max, c):将范围[min,max]等分为c部分,并返回值
-
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)):用于绘制边界
-
xx.ravel():将矩阵变为一维向量
绘制分类边界:机制是通过预测图上每个点,输出True或False,根据不同结果绘制不同颜色
def plot_decision_boundary(model, X, y): # Set min and max values and give it some padding x_min, x_max = X[0, :].min() - 1, X[0, :].max() + 1 y_min, y_max = X[1, :].min() - 1, X[1, :].max() + 1 h = 0.01 # Generate a grid of points with distance h between them xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) # Predict the function value for the whole grid Z = model(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape) # Plot the contour and training examples plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral) plt.ylabel('x2') plt.xlabel('x1') plt.scatter(X[0, :], X[1, :], c=np.squeeze(y[0,:]), cmap=plt.cm.Spectral) plt.show() plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)
-
plt.colorbar() 显示一个色彩条状图
-
plt.grid(True) 显示网格
-
plt.imshow() 显示2维的图像
-
plt.xticks([]); plt.yticks([]) 不显示图像的x和y轴坐标