美文网首页
matplotlib 实践(2) 使用函数绘制matplotli

matplotlib 实践(2) 使用函数绘制matplotli

作者: 银色尘埃010 | 来源:发表于2019-06-18 15:21 被阅读0次

    第二章 使用函数绘制简单图形

    这一章介绍熟悉的统计图形plot(),scatter()
    先介绍基础的统计图形函数的功能、调用签名、参数说明和调用展示四个方面。

    2.1 函数bar()——绘制柱状图

    plt.bar()

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    %matplotlib inline
    
    mpl.rcParams["font.sans-serif"]=["SimHei"]
    mpl.rcParams["axes.unicode_minus"]= False
    
    x=[1,2,3,4,5,6,7,8]
    y=[3,1,4,5,8,9,7,2]
    
    plt.bar(x,y,align="center",color='c',tick_label=['q','a','c','e','r','j','b','q'],hatch="/")
    
    plt.xlabel("箱子编号")
    plt.ylabel("箱子重量(kg)")
    plt.show()
    
    柱状图

    2.2 函数barh—— 水平的条形图(柱状图)

    plt.barh(x,y)

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    %matplotlib inline
    
    mpl.rcParams["font.sans-serif"]=["SimHei"]
    mpl.rcParams["axes.unicode_minus"]= False
    
    x=[1,2,3,4,5,6,7,8]
    y=[3,1,4,5,8,9,7,2]
    
    plt.barh(x,y,align="center",color='c',tick_label=['q','a','c','e','r','j','b','q'],hatch="/")
    
    plt.xlabel("箱子重量(kg)")
    plt.ylabel("箱子编号")
    plt.show()
    
    条形图

    2.3 函数hist() —— 用于绘制直方图

    在x轴上绘制定量数据的分布特征
    plt.hist(x,bins)

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    %matplotlib inline
    
    mpl.rcParams["font.sans-serif"]=["SimHei"]
    mpl.rcParams["axes.unicode_minus"]= False
    
    x = np.random.randint(0,10,100)
    bins = range(0,11,1)
    
    plt.hist(x,bins=bins,
            color="g",
    
            histtype="bar",
            rwidth=1,
            alpha=0.6)
    
    
    plt.xlabel("箱子重量(kg)")
    plt.ylabel("销售个数(个)")
    plt.show()
    
    直方图

    2.4 函数pie() —— 用于绘制饼图

    绘制不同类别的百分比
    plt.pie(x,labels)

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    %matplotlib inline
    
    mpl.rcParams["font.sans-serif"]=["SimHei"]
    mpl.rcParams["axes.unicode_minus"]= False
    
    kinds  = "简易箱","保温箱","行李箱","密封箱"
    colors = ["r",'y','r','b']
    soldNums = [0.05,0.45,0.15,0.35]
    
    plt.pie(soldNums,
           labels=kinds,
           autopct="%3.1f%%"
           )
    
    plt.title("不同类型箱子的销售数量占比")
    plt.show()
    
    饼图

    2.5 函数polar()—— 绘制极线图

    在极坐标上绘制折线图(感觉用的不多)
    plt.polar(theta,r)

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    %matplotlib inline
    
    barSlices = 12
    
    theta = np.linspace(0.0,2*np.pi,barSlices,endpoint=False)
    r = 30*np.random.rand(barSlices)
    
    plt.polar(theta,r,color="chartreuse",marker="*",linewidth=2,mfc='b',ms=10)
    
    plt.title("极线图")
    plt.show()
    
    极线图

    2.6 函数 scatter() —— 用于绘制气泡图

    二维数据借助气泡大小展示三维数据
    plt.scatter(x,y)

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    %matplotlib inline
    a = np.random.randn(100) 
    b = np.random.randn(100)
    
    plt.scatter(a,b,s=np.power(10*a+20*b,2),
                c=np.random.rand(100),
                cmap=plt.cm.RdYlBu,
                marker='o'
                )
    
    plt.title("气泡图")
    plt.show()
    
    气泡图

    2.7 函数stem()——绘制棉棒图

    绘制离散的有序数据
    plt.stem(x,y,linefmt,markerfmt,basefmt)

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    %matplotlib inline
    
    x = np.linspace(0.5,2*np.pi,20)
    y = np.random.randn(20)
    
    plt.stem(x,y,linefmt="-.",markerfmt="o",basefmt="-")
    
    plt.title("棉棒图")
    plt.show()
    
    棉棒图

    2.8 函数boxplot()—— 用于绘制箱线图

    plt.boxplot(x)
    还有很多其他的参数可以查阅matplotlib的文档
    matplotlib可视化箱线图

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    
    mpl.rcParams["font.sans-serif"]=["FangSong"]
    mpl.rcParams["axes.unicode_minus"]= False
    
    x = np.random.randn(1000)
    
    plt.boxplot(x) 
    
    plt.xticks([1],["随机数生成器"])
    plt.ylabel("随机数值")
    plt.title("随机数生成器的稳定性")
    
    plt.grid(axis='y',ls=":",lw=1,color="r",alpha=0.4)
    
    plt.show() #展示
    
    箱线图

    2.9 函数errorbar() —— 绘制误差棒图

    绘制x轴或者是y轴方向上的误差范围
    plt.errorbar(x,y,yerr,xerr)
    yerr,xerr分别是误差计算方法

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    %matplotlib inline
    
    x = np.linspace(0.1,0.6,6)
    y = np.exp(x)
    
    plt.errorbar(x,y,fmt="bo:",yerr=0.2,xerr=0.02)
    plt.xlim(0,0.7)
    plt.title("误差棒图")
    plt.show()
    
    误差棒图

    References

    1、《Python数据可视化之matplotlib实践》 刘大成著

    相关文章

      网友评论

          本文标题:matplotlib 实践(2) 使用函数绘制matplotli

          本文链接:https://www.haomeiwen.com/subject/ftpfqctx.html