python--matplotlib库使用2

功能:python画2D图

直接上代码,注释很详细!

 1 #-*- coding:utf-8 -*-
 2 
 3 from numpy import *
 4 import matplotlib.pyplot as plt
 5 
 6 A=array([0,0]);B=array([[1,0],[0,1]])
 7 #生成以A为均值,以B为协方差矩阵,并满足正态分布的随机数
 8 C1=random.multivariate_normal(A,B,10)          #10*2
 9 C2=random.multivariate_normal(A+0.1,B+0.1,20)  #20*2
10 C2=mat(C2)    #这样做只是为了说明ndarray和matrix型数据的不同
11 
12 fig=plt.figure(figsize=(5,5))  #制定画布大小
13 ax=fig.add_subplot(111)
14 
15 #ndarray型数据C1,shpe(C1)得到(10L,);matrix型C=mat(C1),shpe(C[:,1])得到(10L,1L)
16 ax.scatter(C1[:,0],C1[:,1],s=50,c='r',marker='o',alpha=0.5,label='C1')
17 ax.scatter(C2[:,0].flatten().A[0],C2[:,1].flatten().A[0],s=30,c='b',marker='^',alpha=0.5,label='C2')
18 '''
19 scatter(x,y,x=None,c=None,marker=None)
20 x,y必须是1-D
21 marker为标记,s控制标记的大小,c控制标记的颜色
22 flatten()函数 :a.flatten(),得到一个将a转换为1-D的copy
23 另外,matrix(也就是mat(a))才有A属性,可以使用mat(a).flatten().A[0],得到一个1-D的“array”
24 '''
25 plt.title('scatter plot')
26 plt.xlabel('the Variable X')
27 plt.ylabel('the Variable Y')
28 
29 ax.legend(loc='upper left')      #确定方框位置
30 plt.show()

关于官方pyplot.scatter()函数详解见:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

  

 

posted @ 2017-05-03 22:19  halo_vagabond  阅读(280)  评论(0编辑  收藏  举报