数据科学库-day4

1 创建ndarray的三种方式

    从python的基础数据结构转化:

        

        a=[1,2,3]

        a1=np.array(a)    

    通过numpy内置函数生成

        

        a2=np.arange(10)    

    从文件读取

        a3=np.loadtxt(r’D:\shuju.csv’,delimiter=’,’,skiprows=1,usecols=(1,4,6),unpack=False)

2 numpy中调用函数的两种方法

    方法一:np.func(x)

    方法二:x.func()

    注:对于sort函数,使用方法1将生成一个新的array,原来的x不变化,使用方法2则是直接改变了当前的x

3 基本图形绘制

3.1 散点图

    主要用来观察两个变量的相关性。

常用的4个参数为尺寸,颜色,标记,透明度,如:

    

    plt.scatter(x,y,s=20,c=’r’,marker=’<’,alpha=0.3)

3.2 折线图

    主要用来观察变量随时间的变化趋势。

    常用的3个参数,线型,颜色,标记,如:

    

    plt.plot(x,y,linestyle=’-‘,color=’red’,marker=’<’

3.3 条形图

    主要用来比较不同分类的大小,通常数据量较小。

    常用的2个参数,颜色,宽度,如:

    

    plt.bar(left=index,height=y,color=’blue’,width=0.8)

    如果需要画成水平方向,则:

   

     plt.barh(left=0,bottom=index,height=y,color=’red’,width=0.8)

3.4 直方图

    用来表示数据的分布情况。

    

    plt.hist(x,color=’red’,bins=10,nomed=False)

    绘制双变量直方图,如:

    

    plt.hist2d(x,y,bins=40)

3.5 饼状图

    主要用来显示一系列数据中各数据占总数的比例。

    

    lab=[‘A’,’B’,’C’,’D’]

    x=[20,10,40,30]

    ex=[0,0.05,0,0]

    plt.pie(x,labels=lab,autopct=’%.02f%%’,explode=ex)

3.6 箱线图

    主要用来显示一组数据的分散情况。

    

    plt.boxplot(data)

3.7 颜色

    颜色的设置有4中方法:

        方法一:使用内置标识,有8种颜色,如红色,黄色,绿色等

        方法二:使用阴影方式

        方法三:使用十六进制方式

        方法四:使用基于RGB的元组方式

3.8 样式

    点的样式:23种

    线的样式:4种

3.9 样式字符串

    可以将颜色、点的样式、线的样式写在一起,如’ro-.’

4 图形绘制的3种方式比较

4.1 pylab

    matplotlib与numpy结合,接近于matlab,不推荐使用

4.2 pyplot

    高层封装的方式,使用简单

4.3 面向对象的方式

    更接近于底层,自定义能力更强

注:实战中推荐基于项目情况,综合使用pyplot和面向对象的方式

5 子图绘制

5.1 通过面向对象绘制

    

    fig=plt.figure()

    ax1=fig.add_subplot(121)

    ax1.plot(x1,x1*x1)

    ax2=fig.add_subplot(122)

    ax2.plot(x1,x1)

5.2 通过pyplot绘制

    

    x1=np.arange(10)

    plt.subplot(121)

    plt.plot(x1,x1*x1)

    plt.subplot(122)

    plt.plot(x1,x1)

6 多图绘制

    通过创建多个figure对象,可以画出多个图形:

        

        fig1=plt.figure()

        ax1=fig1.add_subplot(111)

        ax1.plot(x,y)

        fig2=plt.figure()

        ax2=fig2.add_subplot(111)

        ax2.plot(x,y)

7 网格绘制

7.1 pyplot交互式

    plt.grid(True)

此外,还可以通过plt.grid()设置网格颜色,线型等

7.2 面向对象式

    

    ax.grid(True)

8 添加图例

8.1 pyplot方式

    

    plt.plot(x,y,label=’hello’)

    plt.legend()

8.2 面向对象式

    plt.plot(x,y,label=’hello’)

    ax.legend()

9 坐标轴范围调整

    三种方式:

        方式一:plt.axis([值1,值2,值3,值4])

        方式二:plt.xlim([值1,值2])

        方式三:plt.xlim(xmin=值1,xmax=值2)

10 坐标轴刻度调整

    

    plt.plot(x,y)

    ax=plt.gca()

    ax.locator_params(‘x’,nbins=5)

    对于日期,相对要复杂一些,采用面向对象的方式:

    

    start=datetime.datetime(2015,1,1)

    stop=datetime.datetime(2016,1,1)

    delta=datetime.timedelta(days=1)

    dates=mpl.dates.drange(start,stop,delta)

    y=np.random.rand(len(dates))

    ax=plt.gca()

    ax.plot_date(dates,y)

    date_format=mpl.dates.DateFormatter(‘%y-%m-%d’)  设置窗口日期格式

    ax.xaxis.set_major_formatter(date_format)

    fig.autofmt_xdate()     自适应窗口显示日期方式

    plt.show()

11 添加坐标轴

11.1 pyplot方式

    

    plt.twinx()

    plt.plot(x1,y1)

11.2 面向对象方式

    

    ax2=ax1.twinx()

    ax2.plot(x,y2)

    ax2.set_ylabel(‘Y2’)

猜你喜欢

转载自www.cnblogs.com/zhuome/p/11620347.html