暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Matplotlib绘图基础--相关函数、绘图保存与显示、设置pyplot的动态rc参数​、绘图的填充、pyplot中的常用绘图

糟老头修炼记 2020-04-24
1989

1.Matplotlib相关函数

figure():创建一个新的绘图窗口。

figtext():为figure添加文字 

axes():为当前figure添加一个坐标轴

plot():绘图函数

polar():绘制极坐标图

axis():获取或设置轴属性的边界方法(坐标的取值范围)

clf   :清除当前figure窗口          cla  :清除当前axes窗口

close      :关闭当前figure窗口

subplot    :一个图中包含多个axes

text():在轴上添加文字

title():设置当前axes标题

xlabel/ylabel:设置当前X轴或Y轴的标签

hist():绘制直方图

hist2d():绘制二维在直方图

hold      :设置当前图窗状态;off或者on

imread():读取一个图像,从图形文件中提取数组

legend():为当前axes放置标签

pie():绘制饼状图

scatter():做一个X和Y的散点图,其中X和Y是相同长度的序列对象

stackplot():绘制一个堆叠面积图

acorr():绘制X的自相关函数

annotate():用箭头在指定的数据点创建一个注释或一段文本

bar():绘制垂直条形图 

barh():绘制横向条形图

barbs():绘制一个倒钩的二维场


plt.figure:创建一个空白画布,可以指定画布大小,像素。

figure.add_subplot:创建并选中子图,可以指定子图的行数,列数,与选中图片编号。


使用:

    import matplotlib.pyplot as plt
    import numpy as np
    data=np.arange(10)
    plt.plot(data)

      #创建子图
      import matplotlib.pyplot as plt
      fig = plt.figure()
      #不能使用空白的figure绘图,需要创建子图
      ax1 = fig.add_subplot(2,2,1)
      ax2 = fig.add_subplot(2,2,2)
      ax3 = fig.add_subplot(2,2,4) 
      #创建子图.  
      #ax3 = fig.add_subplot(2,2,4) 划分2*2个区域,
      #最后一个数字表示在哪个区域作图


        #子图绘制
        fig = plt.figure()
        ax1 = fig.add_subplot(2,2,1)
        ax2 = fig.add_subplot(2,2,2)
        ax3 = fig.add_subplot(2,2,3)
        ax1.plot([1.5,2,3.5,-1,1.6])
        #表示在第一个区域绘图,
        #ax1.plot([1.5,2,3.5,-1,1.6]) 只传一组参数的时候。默认为y轴d额数值,x轴默认使用索引

        语句Fig , axes = plt.subplots(2,3) 创建一个新的图片,然后返回包含了已生成子图对象的NumPy数组。

        数组axes可以像二维数组那样方便地进行索引,如axes[0,1]。也可以通过sharex和sharey表明子图分别拥有相同的x轴和y轴。


        使用:

          #调整子图周围的间距
          fig,axes = plt.subplots(2,2,sharex = True,sharey = True)
          for i in range(2):
          for j in range(2):
          axes[i,j].hist(np.random.randn(500),bins =50,color='k',alpha= 0.5)
          plt.subplots_adjust(wspace=0,hspace=0)



          添加画布内容:


            import numpy as np
            import matplotlib.pyplot as plt


            data=np.arange(0,1,0.01)
            plt.title('my lines example')
            plt.xlabel('X')
            plt.ylabel('Y')
            plt.xlim(0,1)
            plt.ylim(0,1)
            plt.xticks([0,0.2,0.4,0.6,0.8,1])
            plt.yticks([0,0.2,0.4,0.6,0.8,1])
            plt.plot(data,data**2)
            plt.plot(data,data**3)
            plt.legend(['y=x^2','y=x^3'])
            plt.show()

              import numpy as np 
              import matplotlib.pyplot as plt


              data=np.arange(0,np.pi*2,0.01)
              fig1=plt.figure(figsize=(9,7),dpi=90)
              #确定画布大小
              ax1=fig1.add_subplot(1,2,1)
              plt.title('lines example')
              plt.xlabel('X')
              plt.ylabel('Y')
              plt.xlim(0,1)
              plt.ylim(0,1)
              plt.xticks([0,0.2,0.4,0.6,0.8,1])
              plt.yticks([0,0.2,0.4,0.6,0.8,1])
              plt.plot(data,data**2)
              plt.plot(data,data**3)
              plt.legend(['y=x'])
              plt.show()


              plt.title():在当前图形中添加标题


              plt.xlabel():在当前图形中添加x轴名称

              plt.ylabel():在当前图形中添加y轴名称


              plt.xlim():指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识。


              plt.ylim():指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识。


              plt.xticks():指定x轴刻度的数目与取值。


              plt.yticks():指定y轴刻度的数目与取值。


              plt.legend():指定当前图形的图例,可以指定图例的大小、位置、标签。


              添加标题,坐标轴名称,绘制图形等步骤是并列的,没有先后顺序

              但是添加图例一定要在绘制图形之后


              Matplotlib 的 Legend 图例就是为了展示每个数据对应的图像名称,更好的认识数据结构。关于plt.legend():



                plt.legend(loc = 'best',frameon = False#去掉图例边框,推荐使用
                plt.legend(loc = 'best',edgecolor = 'blue'#设置图例边框颜色
                plt.legend(loc = 'best',facecolor = 'blue')#设置图例背景颜色,若无边框,参数无效




                2.绘图的保存与显示

                  plt.savafig():保存绘制的图片,可以指定图片的分辨率、边缘的颜色等参数。
                  plt.show():在本机显示图形。

                  函数:

                    plt.savefig(save_path, format='png', transparent=True, dpi=300, pad_inches = 0)


                    参数解释:

                    format:文件格式(’png’,’pdf’,’svg’,’ps’等)

                    fname :包含文件路径或Python文件型对象的字符串。图片格式是从文件扩展名中推断出来的(例如pdf格式的.pdf)

                    dpi :设置每英寸点数的分辨率,默认为100

                    facecolor,edgecolor:子图之外的图形背景颜色,默认是’w’(白色)

                    pad_inches:要保存的图片范围,如果设置为‘tight‘则去除图片周围的空白




                    3.设置pyplot的动态rc参数

                    pyplot使用rc配置文件来自定义图形的各种默认属性,被称为rc配置或rc参数

                    在pyplot中几乎所有的默认属性都是可以控制的,例如视图窗口大小以及每英寸点数、线条宽度、颜色和样式、坐标轴、坐标和网格属性、文本、字体等


                    由于默认的pyplot字体并不支持中文字符的显示,因此需要通过设置font.sans-serif参数改变绘图时的字体,使得图形可以正常显示中文。同时,由于更改字体后,会导致坐标轴中的部分字符无法显示,因此需要同时更改axes.unicode_minus参数


                    两种方式可以设置参数,即全局参数定制和rc设置方法。

                      #查看matplotlib的rc参数:
                      import matplotlib as plt
                      print(plt.rc_params())

                      部分参数截图:

                      常用参数:

                      Axes:设置坐标轴边界、颜色、坐标

                      刻度值大小和网格的显示;

                      Figure:设置边界颜色、图形大小和子区;

                      Font:设置字号、字体和样式;

                      Grid:设置网格颜色和线型;

                      Legend:设置图例和其中的文本显示;

                      Lines:设置线条颜色、宽度、线型等;

                      Savefig:对保存图像进行单独设置;

                      Xtick和ytick:X、Y轴的主刻度和次刻度设置颜色、大小、方向和标签大小。


                      线条的常用rc参数名称、解释与取值

                      lines.linewidth:线条宽度。取0-10之间的数值,默认为1.5。

                      lines.linestyle:线条样式。可取“-”“--”“-.”“:”四种。默认为“-”。

                      lines.marker:线条上点的形状。可取“o” “D” “h”  “.” “,”

                      “S”等20种,默认为None。

                      lines.markersize:点的大小。取0-10之间的数值,默认为1。


                      常用线条类型解释:


                      linestyle取值 意义
                       -   实线
                       -.点线
                       --  长虚线
                       :   短虚线


                      marker的取值和意义:


                      o
                      圆圈.

                      D菱形s
                      正方形
                      h六边形1*
                      星号
                      H
                      六边形2d
                      小菱形
                      -
                      水平线
                      v一角朝下的三角形
                      8
                      八边形
                      <
                      一角朝左的三角形
                      p
                      五边形
                      >一角朝右的三角形
                      ,
                      像素
                      ^
                      一角朝上的三角形
                      +
                      加号
                      \
                      竖线
                      None
                      x
                      X


                      Rc参数使用:

                        import numpy as np
                        import matplotlib.pyplot as plt
                        fig,ax = plt.subplots()
                        #配置中文显示
                        plt.rcParams['font.family'] = ['SimHei']
                        plt.rcParams['axes.unicode_minus'] = False
                        def f(t):
                        return np.cos(2*np.pi*t)
                        x1 = np.arange(0.0,4.0,0.5)
                        x2 = np.arange(0.0,4.0,0.01)
                        plt.figure(1)
                        plt.subplot(2,2,1)
                        plt.plot(x1,f(x1),'bo',x2,f(x2),'k')
                        plt.title('子图1')
                        plt.subplot(2,2,2)
                        plt.plot(np.cos(2*np.pi*x2),'r--')
                        plt.title('子图2')
                        plt.show()


                          import numpy as np
                          import matplotlib.pyplot as plt
                          fig,ax = plt.subplots()


                          plt.rcParams['font.family'] = ['SimHei']
                          plt.rcParams['axes.unicode_minus'] = False
                          def f(t):
                          return np.cos(2*np.pi*t)
                          x1 = np.arange(0.0,4.0,0.5)
                          x2 = np.arange(0.0,4.0,0.01)
                          plt.figure(1)
                          plt.subplot(2,2,1)
                          plt.plot(np.random.randn(30).cumsum(),color='k',linestyle='dashed',marker='o')
                          plt.title('子图1')
                          plt.subplot(2,2,2)
                          plt.plot(np.cos(2*np.pi*x2),'r--')
                          plt.title('子图2')
                          plt.show()

                            #改变刻度:
                            ax.set_xticks([0,25,50,75,100])


                              #改变刻度:
                              ax.set_xticklabels(['x1','x2','x3','x4','x5'],rotation=30,fontsize='small')


                              添加图例:添加每个图表时传递label参数

                                fig=plt.figure()
                                ax=fig.add_subplot(1,1,1)
                                ax.plot(np.random.randn(30).cumsum(),color='k',linestyle='dashed',marker='o',label='one')
                                ax.plot(np.random.randn(30).cumsum(),color='k',linestyle='dashed',marker='+',label='two')
                                ax.plot(np.random.randn(30).cumsum(),color='k',linestyle='dashed',marker='v',label='three')
                                ax.legend(loc='best')


                                  #rc参数设置
                                  import numpy as np
                                  import matplotlib.pyplot as plt
                                  fig,ax=plt.subplots()
                                  plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                  plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                  x1=np.arange(0.0,3.0,0.01)
                                  x2=np.arange(0.0,4.0,0.01)
                                  y1=np.cos(2*np.pi*x1)*np.exp(-x1)
                                  y2=np.cos(2*np.pi*x2)
                                  plt.subplot(2,1,1)
                                  plt.plot(x1,y1)
                                  plt.title('子图1')
                                  plt.xlabel('X轴')
                                  plt.ylabel('Y轴')

                                    import numpy as np
                                    import matplotlib.pyplot as plt
                                    fig,ax=plt.subplots()
                                    #配置中文显示
                                    plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                    def f(t):
                                    return np.cos(2*np.pi*t)




                                    x1=np.arange(0.0,5.0,0.5)
                                    x2=np.arange(0.0,5.0,0.01)
                                    plt.figure(1)
                                    plt.subplot(2,2,1)
                                    plt.plot(x1,f(x1),'bo',x2,f(x2),'k')
                                    plt.subplot(2,2,2)
                                    plt.plot(np.cos(2*np.pi*x2),'r--')
                                    plt.show()

                                      import numpy as np
                                      import matplotlib.pyplot as plt
                                      fig,ax=plt.subplots()
                                      plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                      plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                      x1=np.arange(0.0,3.0,0.01)
                                      y1=np.cos(2*np.pi*x1)*np.exp(-x1)




                                      plt.subplot(2,1,1)
                                      plt.plot(x1,y1)
                                      plt.title('子图1')
                                      plt.xlabel('X轴')
                                      plt.ylabel('Y轴')
                                      plt.xlim(-5,3)
                                      plt.ylim(-10,50)
                                      plt.show()




                                      4.绘图的填充

                                      (1)调用函数fill_between() 实现曲线下面部分的填充:


                                        import numpy as np
                                        import matplotlib.pyplot as plt
                                        x=np.linspace(0,1,500)
                                        y=np.sin(3*np.pi*x)*np.exp(-4*x)
                                        fig,ax=plt.subplots()
                                        plt.plot(x,y)
                                        plt.fill_between(x, 0, y, facecolor='green', alpha=0.3)

                                        x:第一个参数表示覆盖的区域, x,表示整个x都覆盖

                                        0:表示覆盖的下限

                                        y:表示覆盖的上限是y这个曲线

                                        facecolor:覆盖区域的颜色

                                        alpha:覆盖区域的透明度[0,1],其值越大,表示越不透明

                                        (2)部分区域的填充:

                                          import numpy as np
                                          import matplotlib.pyplot as plt
                                          x=np.linspace(0,1,500)
                                          y=np.sin(3*np.pi*x)*np.exp(-4*x)
                                          fig,ax=plt.subplots()
                                          plt.plot(x,y)
                                          plt.fill_between(x[15:300], 0, 0.4, facecolor='green', alpha=0.3)

                                          (3)两条曲线之间的区域填充:

                                            import numpy as np
                                            import matplotlib.pyplot as plt
                                            x=np.linspace(0,1,500)
                                            y1=np.sin(3*np.pi*x)*np.exp(-4*x)
                                            y2 = y1 + 0.2
                                            plt.plot(x, y1,'b')
                                            plt.plot(x, y2, 'r')
                                            plt.fill_between(x, y1, y2, facecolor='green', alpha=0.3)
                                            plt.show()


                                            (4)利用fill进行绘图的填充:


                                              import numpy as np
                                              import matplotlib.pyplot as plt
                                              x=np.linspace(0,1,500)
                                              y=np.sin(3*np.pi*x)*np.exp(-4*x)
                                              fig,ax=plt.subplots()
                                              ax.fill(x,y)
                                              plt.show()


                                              文本注解:

                                              可以通过text函数在指定的位置(x,y)加入文本注解。


                                              使用:

                                                import numpy as np
                                                import matplotlib.pyplot as plt
                                                plt.rcParams['font.family'] = ['SimHei']
                                                data = [25,30,32,34,34,23]
                                                label = ['青海','兰州','北京','上海','广州','拉萨']
                                                plt.xticks(range(len( data)),label)
                                                plt.xlabel('城市')
                                                plt.ylabel('温度')
                                                plt.title('六城市8月份日均最高气温')
                                                plt.bar(range(len( data)),data)
                                                for x,y in zip(range(len(data)),data):
                                                plt.text(x,y,y,ha = 'center',va = 'bottom')
                                                plt.show()




                                                5.pyplot中的常用绘图

                                                (1)折线图:

                                                折线图的主要功能是查看因变量y随着自变量x改变的趋势,最适合用于显示随时间(根据常用比例设置)而变化的连续数据。同时还可以看出数量的差异,增长趋势的变化。


                                                plot函数:

                                                  matplotlib.pyplot.plot(*args, **kwargs) 

                                                  参数:

                                                  x,y:接收array。表示x轴和y轴对应的数据。无默认。

                                                  color:接收特定string。指定线条的颜色。默认为None。

                                                  linestyle:接收特定string。指定线条类型。默认为“-”。

                                                  marker:接收特定string。表示绘制的点的类型。默认为None。

                                                  alpha:接收0-1的小数。表示点的透明度。默认为None。



                                                  plot函数可以填入的主要参数:


                                                  颜色缩写:代表的颜色

                                                  b:蓝色    m:品红    g:绿色

                                                  y:黄色    r:红色    k:黑色

                                                  c:青色    w:白色


                                                    #简单折线图
                                                    import numpy as np
                                                    x1 = np.arange(0, 30)
                                                    plt.plot(x1,x1*2, 'b')
                                                    plt.show()

                                                      #带点的折线图
                                                      import numpy as np
                                                      x1 = np.arange(0, 30)
                                                      plt.plot(x1,x1*2, 'b')
                                                      plt.plot(x1,x1*2, 'bo')
                                                      plt.show()

                                                      Series和DataFrame都有一个plot属性,用于绘制基本的图形。默认情况下,plot()绘制的都是折线。

                                                        import pandas as pd
                                                        s=pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
                                                        s.plot()

                                                        Series的索引传入作为绘图的X轴,x轴的刻度和范围可以通过xticks和xlim调整。


                                                          import pandas as pd
                                                          s=pd.DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))
                                                          s.plot()

                                                          (2)散点图:

                                                          散点图(scatter diagram)又称为散点分布图,是利用坐标点(散点)的分布形态反映特征间的统计关系的一种图形。

                                                          值是由点在图表中的位置表示,类别是由图表中的不同标记表示,通常用于比较跨类别的数据。


                                                          scatter函数:

                                                            matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None, **kwargs)

                                                            x,y:接收array。表示x轴和y轴对应的数据。无默认。

                                                            s:接收数值或者一维的array。指定点的大小,若传入一维array则表示每个点的大小。默认为None。

                                                            c:接收颜色或者一维的array。指定点的颜色,若传入一维array则表示每个点的颜色。默认为None

                                                            marker:接收特定string。表示绘制的点的类型。默认为None。

                                                            alpha:接收0-1的小数。表示点的透明度。默认为None。


                                                              import numpy as np
                                                              import matplotlib.pyplot as plt
                                                              fig,ax=plt.subplots()
                                                              plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                                              plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                                              x1=np.arange(1,30)
                                                              y1=np.sin(x1)




                                                              ax1=plt.subplot(1,1,1)
                                                              plt.title('散点图')
                                                              plt.xlabel('X')
                                                              plt.ylabel('Y')
                                                              lvalue=x1
                                                              ax1.scatter(x1,y1,c='r',s=100,linewidths=lvalue,marker='o')
                                                              plt.legend('x1')
                                                              plt.show()

                                                                import numpy as np
                                                                import matplotlib.pyplot as plt
                                                                fig,ax=plt.subplots()
                                                                plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                                                plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                                                for color in ['red','green','blue']:
                                                                n=500
                                                                x,y=np.random.randn(2,n) ax.scatter(x,y,c=color,label=color,alpha=0.3,edgecolors='none')
                                                                ax.legend()
                                                                ax.grid(True)




                                                                plt.show()


                                                                (3)直方图:

                                                                直方图(Histogram)又称质量分布图,是统计报告图的一种,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据所属类别,纵轴表示数量或者占比。


                                                                用直方图便于判断其总体质量分布情况。直方图可以发现分布表无法发现的数据模式、样本的频率分布和总体的分布。


                                                                bar函数:

                                                                  matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,data = None,** kwargs )

                                                                  left:接收array。表示x轴数据。无默认。

                                                                  height:接收array。表示x轴所代表数据的数量。无默认。

                                                                  width:接收0-1之间的float。指定直方图宽度。默认为0.8。

                                                                  color:接收特定string或者包含颜色字符串的array。表示直方图颜色。默认为None。


                                                                  在dataframe中,柱状图将每一行中的值分组到并排的柱子中的一组


                                                                    df=pd.DataFrame(np.random.rand(6,4),index=['one','two','three','four','five','six'],columns=pd.Index(['A','B','C','D'],name='Genus'))
                                                                    df.plot.bar()

                                                                      import numpy as np
                                                                      import matplotlib.pyplot as plt
                                                                      fig,ax=plt.subplots()
                                                                      plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                                                      plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                                                      plt.figure(figsize=(7,5))
                                                                      x=np.arange(1,6)
                                                                      Y1=np.random.uniform(1.5,1.0,5)
                                                                      Y2=np.random.uniform(1.5,1.0,5)
                                                                      plt.bar(x,Y1,width=0.35,facecolor='lightskyblue',edgecolor='white')
                                                                      plt.bar(x+0.35,Y2,width=0.35,facecolor='yellowgreen',edgecolor='white')
                                                                      plt.show()


                                                                      (4)饼图:

                                                                      将各项的大小与各项总和的比例显示在一张“饼”中,以“饼”的大小来确定每一项的占比。


                                                                      饼图可以比较清楚地反映出部分与部分、部分与整体之间的比例关系,易于显示每组数据相对于总数的大小,而且显现方式直观。


                                                                      pie函数:

                                                                        matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, … )

                                                                        x:接收array。表示用于绘制撇的数据。无默认。

                                                                        autopct:接收特定string。指定数值的显示方式。默认为None。

                                                                        explode:接收array。表示指定项离饼图圆心为n个半径。默认为None。

                                                                        pctdistance:接收float。指定每一项的比例和距离饼图圆心n个半径。默认为0.6。

                                                                        labels:接收array。指定每一项的名称。默认为None。

                                                                        labeldistance:接收float。指定每一项的名称和距离饼图圆心多少个半径。默认为1.1。

                                                                        color:接收特定string或者包含颜色字符串的array。表示饼图颜色。默认为None。

                                                                        radius:接收float。表示饼图的半径。默认为1。


                                                                          plt.figure(figsize=(6,6))


                                                                          ax=plt.axes([0.1,0.1,0.8,0.8])#建立轴的大小
                                                                          labels='Springs','Summer','Autumn','Winter'
                                                                          x=[15,30,45,10]
                                                                          explode=(0.05,0.05,0.05,0.05)#这个是控制分离的距离的,默认的饼图不分离。
                                                                          plt.pie(x,labels=labels,explode=explode,startangle=60,autopct='%1.1f%%')#qutopct在图中显示比例值,注意值的格式。
                                                                          plt.title('Rany days by season')
                                                                          plt.show()


                                                                          (5)箱线图:

                                                                          能提供有关数据位置和分散情况的关键信息,尤其在比较不同特征时,更可表现其分散程度差异。


                                                                          箱线图利用数据中的五个统计量(最小值、下四分位数、中位数、上四分位数和最大值)来描述数据,它也可以粗略地看出数据是否具有对称性、分布的分散程度等信息,特别可以用于对几个样本的比较。

                                                                          boxplot函数:

                                                                            matplotlib.pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None,meanline=None, labels=None, … )


                                                                            x:接收array。表示用于绘制箱线图的数据。无默认。

                                                                            notch:接收boolean。表示中间箱体是否有缺口。默认为None。

                                                                            sym:接收特定sting。指定异常点形状。默认为None。

                                                                            vert:接收boolean。表示图形是横向纵向或者横向。默认为None。

                                                                            positions:接收array。表示图形位置。默认为None。

                                                                            widths:接收scalar或者array。表示每个箱体的宽度。默认为None。


                                                                            labels:接收array。指定每一个箱线图的标签。默认为None。


                                                                            meanline:接收boolean。表示是否显示均值线。默认为False。


                                                                              import numpy as np
                                                                              import matplotlib.pyplot as plt
                                                                              import pandas as pd
                                                                              np.random.seed(2) #设置随机种子
                                                                              df = pd.DataFrame(np.random.rand(5,4),
                                                                              columns=['A', 'B', 'C', 'D'])#先生成0-1之间的5*4维度数据,再装入4列DataFrame中
                                                                              df.boxplot() #也可用plot.box()
                                                                              plt.show()

                                                                              (6)概率图:

                                                                              用来表示变量间概率依赖关系的图。

                                                                              正态分布又名高斯分布。

                                                                              正态概率密度函数 normpdf(X,mu,sigma)

                                                                              其中,x为向量,mu为均值,sigma为标准差。


                                                                                import numpy as np
                                                                                import matplotlib.pyplot as plt
                                                                                fig,ax=plt.subplots()
                                                                                plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                                                                plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                                                                np.random.seed(1587554)
                                                                                mu=100
                                                                                sigma=15
                                                                                x=mu+sigma*np.random.randn(437)
                                                                                num_bins=50
                                                                                n,bins,patches=ax.hist(x,num_bins,normed=1)
                                                                                y=plt.mlab.normpdf(bins,mu,sigma)
                                                                                ax.plot(bins,y,'--')
                                                                                fig.tight_layout()
                                                                                plt.show()



                                                                                  import numpy as np
                                                                                  import matplotlib.pyplot as plt
                                                                                  fig,ax=plt.subplots()
                                                                                  plt.rcParams['font.family']=['SimHei']#用来显示中文标签
                                                                                  plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
                                                                                  np.random.seed(1587554)
                                                                                  mu=100
                                                                                  sigma=15
                                                                                  x=mu+sigma*np.random.randn(437)
                                                                                  num_bins=50
                                                                                  n,bins,patches=ax.hist(x,num_bins,normed=1)
                                                                                  y=plt.mlab.normpdf(bins,mu,sigma)
                                                                                  ax.plot(bins,y,'--')
                                                                                  fig.tight_layout()
                                                                                  plt.show()


                                                                                  文章转载自糟老头修炼记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                                  评论