zoukankan      html  css  js  c++  java
  • 我的Python分析成长之路10

    matplot数据可视化基础

      制作提供信息的可视化(有时称作绘图)是数据分析中最重要任务之一。

    1.图片(画布)与子图

        plt.figure :创建一张空白的图片,可以指定图片的大小、像素。

        figure.add_subplot:添加子图,可以指定子图的行数、列数和选中图片的编号。

        如果使用plt.subplots(),它创建了一张图片,然后返回包含了已生成子图对象的Numpy数组

        plt.subplots选型:

              nrow:子图的行数

              ncols:子图的列数

              sharex:所有子图使用相同的x轴刻度

              sharey:所有子图使用相同的y轴刻度

        

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3 plt.rcParams["font.sans-serif"] = "SimHei"  #设置中文显示
     4 plt.rcParams["axes.unicode_minus"] = False     #设置正常符号
     5 #没有子图的绘图
     6 x = np.arange(0,1,0.01)
     7 y = x**2
     8 y2 = x**4
     9 plt.plot(x,y)
    10 plt.plot(x,y2)
    11 plt.show()
    12 #有子图的绘制方法
    13 fig = plt.figure(figsize=(8,5))
    14 ax1 = fig.add_subplot(2,1,1)
    15 ax1.plot(x,y)
    16 ax2 = fig.add_subplot(2,1,2)
    17 ax2.plot(x,y2)
    18 plt.show()
    19 #用plt.subplots方法
    20 fig,axes = plt.subplots(2,1,sharex=True)
    21 axes[0].plot(x,y)
    22 axes[1].plot(x,y2)
    23 plt.show()

    2.添加各类标签和图例的常用函数

        plt.title  为当前图形添加标题,可以指定标题的名称、位置、颜色、大小等参数

        plt.xlabel  为当前图形添加x轴名称,可以指定位置、颜色、大小等参数

        plt.ylabel:为当前图形添加y轴名称,可以指定位置、颜色、字体大小等参数

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

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

        plt. xticks:指定x轴数目与取值

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

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

        plt.savefig("filename"):保存图片

        text/arrow/annote方法添加注释和文本

        

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3 plt.rcParams["font.sans-serif"] = "SimHei"
     4 plt.rcParams["axes.unicode_minus"] = False
     5 x = np.arange(0,1,0.01)
     6 y1 = x**2
     7 y2 = x**4
     8 plt.plot(x,y1,"g--")
     9 plt.plot(x,y2,"b-")  
    10 plt.xlabel("x")  #设置x轴类标
    11 plt.ylabel("y")  #设置y轴类标
    12 plt.xlim([0,1])  #设置x范围
    13 plt.ylim([0,1])    #设置y范围
    14 plt.title("x**2和x**4函数")  #添加标题
    15 plt.legend(["Y1","Y2"],loc="best")   #
    16 plt.show()
    View Code

    3.设置pyplot的rc参数

         lines.linestyle:线条样式

          lines.line线条宽度

        lines.marker:线条上的点的形状

        lines.markersize:点的大小

    4.分析特征间的相互关系

        1.柱状图:

            plot.bar():绘制垂直方向上的柱状图

            plot.barh():绘制水平方向上的柱状图

        

     
     1 import matplotlib.pyplot as plt
     2 import pandas as pd
     3 fig,axes = plt.subplots(2,1)
     4 data = pd.Series(np.random.rand(16),index=list("abcdefghijklmnop"))
     5 data.plot.bar(ax=axes[0],color='k')
     6 data.plot.barh(ax=axes[1],color="r")
     7 plt.show()
     8 df = pd.DataFrame(np.random.rand(6,4),index=["one","two","three","four","five","six"],
     9                   columns=pd.Index(["a","b","c","d"],name="Genus"))
    10 df.plot.bar()
    11 df.plot.barh(stacked=True)
    12 plt.show()
    View Code

        2.直方图和密度图:

            直方图是一种条形图,用于给出值频率的离散显示。数据被分隔成离散的,均匀间隔的箱,并且绘制每个箱中数据点的数量.一般用横轴表示        数据类型,用纵轴表示数量或者占比。

            plot.hist()

            密度图是一种与直方图相关的图表类型,它通过计算可能产生观测数据的连续概率分布估计而产生的。 密度图也称为内核密度估计图            (KED)

            plot.density()

            seabon.distplot()可以绘制直方图和连续密度估计

    1 t seaborn as sns
    2 import pandas as pd
    3 import matplotlib.pyplot as plt
    4 data1 = pd.Series(np.random.normal(0,1,size=200))
    5 data2 = pd.Series(np.random.normal(10,2,size=200))
    6 data3 = pd.Series(np.concatenate([data1,data2]))
    7 # print(data3)
    8 sns.distplot(data3,bins=100,color="k")
    9 plt.show()
    View Code

        3.散点图

            散点图,又称散点分布图,是一个以一个特征为横坐标,以另一个特征为纵坐标,利用坐标点的分布状态反映特征间的统计关系的一阵图         形。主要用于分析特征间的相互关系,散点图可以提供两类关键信息。1.特征之间是否存在数值或数量之间的关联趋势,关联趋势是线性           还是非线性的。2.如果从某一个点或者某几个点偏离大多数    点,则这些点就是离群值,从而分析这些离群值是否在建模分析中产生          很大的关系。散点图通过散点的疏密程度和变化趋势表示两个特征的数量关系。

        plt.scatter(x,y,s=None,c=None,marker=None)  c:代表颜色,marker:绘制点的类型

        seaborn.pairplot(data,diag_kind="kde",{“plot_kws”:0.2}) 可以支持在对角线上放置每个变量的直方图或密度估计图

        4.折线图

            折线图是一种将数据点按照顺序连接起来的图形。查看因变量y随自变量x改变的趋势,最适合于显示随时间而变化的连续数据.

            plt.plot()  

        5.饼图  

            饼图是将各项大小与各项总和的比例显示在一张“饼”上,以“饼”的大小确定所占的比例。

            plt.pie(x,explode,labels,autopct,octdistance,labeldistance,radius)

            explode:设定各项距离圆心n个半径

            label:饼图的标签

            autupct:指定数值的显示方式

        6.箱型图

            箱型图也称箱须图,其绘制需要常用的统计量,能提供有关数据位置和分散情况的关键信息,尤其在比较不同特征时,更可表现其分散程度         差异。箱型图利用数据中的5个统计量(最小值、下四分位数、中位数、上四分位数、和最大值)来描述数据。

            plt.boxplot(x,menline) meanline:是否显示中值

  • 相关阅读:
    Python 魔术方法
    Python 类和对象-上
    Python 日期时间相关
    Python OS模块
    Python文件操作
    Python集合操作
    Python字典操作
    为什么最小帧长度是64字节
    字典_ 三级菜单
    cart_购物车小程序
  • 原文地址:https://www.cnblogs.com/Ezhizen/p/10285321.html
Copyright © 2011-2022 走看看