Matplotlib 绘图(动态绘图)

plt.ion():打开交互模式
plt.ioff():关闭交互模式
plt.clf():清除当前的Figure对象
plt.cla():清除当前的Axes对象
plt.pause():暂停功能

画动态散点图有两种方法
① plot
不需要交互模式,不需要清除原来图像上的数据点
主要代码片段:梯度下降中的循环

    for i in range(m):
        h = sigmoid(np.sum(dataArr[i]*weights))
        error = (h-labelList[i])
        weights = weights-alpha*error*dataArr[i]
        #plt.cla()
        plt.grid(True)
        plt.plot(i, weights[1], 'o') # 散点图
        plt.pause(0.01)#每次花点速度
    plt.pause(0)#防止图像闪退

② scatter散点图
跟plot差不多

    #plt.ion()
    for i in range(m):
        h = sigmoid(np.sum(dataArr[i]*weights))
        error = (h-labelList[i])
        weights = weights-alpha*error*dataArr[i]
        #plt.cla()
        plt.grid(True)
        plt.scatter(i, weights[1])
        plt.pause(0.1)
    #plt.ioff()

matplotlib官方示例文档
github上代码注解教程
线条颜色选择

你可能感兴趣的:(Matplotlib 绘图(动态绘图))