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

 

posted on 2018-10-14 19:50  下士闻道  阅读(12626)  评论(0编辑  收藏  举报

导航