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()
