Python画图代码
1 X1D=np.linspace(-4, 4, 9).reshape(-1,1) 2 X2D=np.c_[X1D, X1D**2] 3 y = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0]) 4 5 plt.figure(figsize=(11, 4)) #这个范围是怎么知道的?经验值 6 pprint(np.zeros(4)) 7 plt.subplot(121) 8 plt.grid(True, which="both") 9 plt.axhline(y=0, color='k') # 这个是什么意思,axhline,画一条水平的线,k颜色的 10 plt.plot(X1D[y==0, 0], np.zeros(4), "bs") 11 plt.plot(X1D[y==1, 0], np.zeros(5), "g^") #为什么这个zero(5)?因为y==1分类的X,共有5个元素(y==0的分类,X有4个元素) 12 plt.gca().get_yaxis().set_ticks([]) #gca:get currnt axes(轴),get_yaxis,获取y轴对象,set_ticks([]),去掉y轴 13 plt.xlabel(r'$x_1$', fontsize=12) 14 plt.axis([-4.5, 4.5, -0.2, 0.2]) # 这个范围是怎么确定的? 15 16 #为什么是122,其他数字是否可以?代表一行,2列(两张图并排显示),当前图是第2个(靠右显示的图),如果是211和212则是竖着排列的两张图 17 plt.subplot(122) 18 plt.grid(True, which="both") 19 plt.axhline(y=0, color="k") 20 plt.axvline(x=0, color="k") # 在x=0处画一条垂直的线 21 22 plt.plot(X2D[y==1,0], X2D[y==1,1], "gs") 23 plt.plot(X2D[y==0,0], X2D[y==0,1], "b^") 24 plt.xlabel(r"$x_1$", fontsize=20) 25 plt.ylabel(r"$x_2$", fontsize=20) 26 plt.gca().get_yaxis().set_ticks([0, 4, 8, 12, 16]) # 在y轴显示刻度0,4,8.. 27 plt.plot([-4.5, 4.5], [6.5,6.5], "r--", linewidth=3) 28 plt.axis([-4.5, 4.5, -1, 17]) 29 30 plt.subplots_adjust(right=1) #控制图像的位置以及间隔;调整right值之后,感觉整体图像会变大变小。 31 32 plt.show()