美文网首页
Matplotlib基础

Matplotlib基础

作者: Brian_mingzhi | 来源:发表于2020-02-29 16:51 被阅读0次

    可参考:https://blog.csdn.net/xHibiki/article/details/84866887

    散点图

    主要参数说明如下:

    x,y:数组

    s:散点图中点的大小,可选

    c:散点图中点的颜色,可选

    marker:散点图的形状,可选

    alpha:表示透明度,在 0~1 取值,可选

    linewidths:表示线条粗细,可选

    ```

    import matplotlib.pyplot as plt

    import numpy as np

    import pandas as pd

    #数据准备

    height = [155,158,160,167,170]

    weight=[40,42,45,50,60]

    #绘图 透明度为0.7

    plt.scatter(x=height,y=weight,alpha=0.7)

    plt.xlabel('height')

    plt.ylabel('weight')

    plt.show()

    ```

    散点图

    柱形图与直方图

    区别:

    柱形图展示类别(非数值)的频数,柱状图是分开排列。

    直方图展示各组数据的频数,分组数据具有连续性,因此直方图的各矩形通常是连续排列,

    直方图与柱形图的区别

    直方图

    hist(x, bins=None,color=None, label=None, stacked=False, normed=None,  data=None, **kwargs)

    主要参数说明如下:

    bins:直方图中箱子 (bin) 的总个数。个数越多,条形带越紧密。

    color:箱子的颜色。

    normed:对数据进行正则化。决定直方图y轴的取值是某个箱子中的元素的个数 (normed=False), 还是某个箱子中的元素的个数占总体的百分比 (normed=True)。

    ```

    import numpy as np

    import matplotlib.pyplot as plt

    aveage = 100 #平均值

    sigma = 20  #标准差

    #设置随机数种子,为了使每次随机树生成的结果一样

    np.random.seed(1)

    a= np.random.randn(2000)#生成2000个标准正太分布0-1的数

    x=aveage + sigma*a

    #画直方图,设定50个箱子bins,采用正则化normed=True

    plt.hist(x,bins=50,color='red',normed=True)

    plt.title("hist test")

    plt.show()

    ```

    直方图

    饼图

    plt.pie(x,labels=标签列表 ,autopct = 1)

    x为传入的值,labels为饼图各块的标签,autopct为是否显示饼图各块的占比百分数

    ```

    import matplotlib.pyplot as plt

    x = [20,40,40]#设置饼图各块数值

    labels = 'A','B','C'#设置饼图各块标签

    #autopct设置显示百分比, ‘%.0f%%’中的数字表示保留小数点后几位,此处为0表示保留0位

    plt.pie(x, labels=labels, autopct = '%.0f%%')

    plt.show()

    ```

    显示多个图

    - plt.subplot(x,y)

    ```
    names = ['BMW', 'Benz', 'Audi']

    values = [30, 10, 20]

    plt.subplot(221)  #构建2x2张图中的第1张子图

    plt.bar(names, values) #统计图

    plt.subplot(222)

    plt.scatter(names, values) #散点图

    plt.subplot(223)

    plt.plot(names, values) #折线图

    plt.suptitle('三种图示',fontname='SimHei')

    plt.show()

    ```

    多个图表

    相关文章

      网友评论

          本文标题:Matplotlib基础

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