zoukankan      html  css  js  c++  java
  • matplotlib常见绘图基础代码小结:折线图、散点图、条形图、直方图、饼图

    一、折线图

    二、散点图

    三、条形图

    四、直方图

    五、饼图


    一、折线图
    折线图用于显示随时间或有序类别的变化趋势

    from matplotlib import pyplot as plt
     
    x = range(2, 26, 2)
    y = [15, 13, 14.5, 17, 20, 25, 26, 26, 27, 22, 18, 15]
     
    # 设置图片大小
    plt.figure(figsize=(20, 8), dpi=180)
    # 绘制图形,plot折线图
    plt.plot(x, y)
    # 保存图形
    plt.savefig("14.png")
    # 展示图形
    plt.show()
    

      

    二、散点图
    散点图可以显示若干数据系列中各数值之间是否存在相关性
    坐标系中,每个值用一个点表示

    import matplotlib.pyplot as plt
    
    # 传统方式绘制
    '''
    plt.plot(
        [3,5,8,10,32,12,9,6,21,22,23,25,25],
        [5,4,2,12,44,10,2,8,21,22,23,24,25],
        'o' #点类型为o
    )
    plt.title('Simple Scatter')
    '''
    
    # 面向对象方式绘制
    fig,ax = plt.subplots()
    ax.plot(
        [3,5,8,10,32,12,9,6,21,22,23,25,25],
        [5,4,2,12,44,10,2,8,21,22,23,24,25],
        'o' #点类型为o
    )
    ax.set_title('Simple Scatter')
    
    plt.show()
    

      

    三、条形图(横向:条形图,纵向:柱状图)
    柱状图用来比较各独立类别下的某单独数据的大小

    import matplotlib.pyplot as plt
    
    x = [1,2,3,4,5]
    y = [3,6,1,8,2]
    
    width = 0.5
    
    plt.bar(
        x,
        y,
        width,
        color='r'
    )
    
    plt.xticks(x,['a','b','c','d','e'])
    
    plt.show()
    

      

    四、直方图
    直方图能直观表达数据的分布情况,一般用来表示同等区间内,某类数值出现的频率
    直方图与柱状图的区别:
    直方图:分区之间连续无间断,表示连续变量;值用矩形面积表示
    条形图:各柱之间有间隙,表示孤立的、不连续分类变量;值用矩形长度表示

    import numpy as np
    import matplotlib.pyplot as plt
    
    np.random.seed(0) #随机种子
    mu,sigma = 100,20 #均值和标准差
    a = np.random.normal(mu,sigma,size=100) #生成一个 均值/方差 给定的正态分布数组
    
    plt.hist(
        a, #直方图数据
        20, #直方的个数
        normed=1, #将y轴默认的数值出现个数归一化为出现的概率
        histtype='stepfilled', # stepfilled填充面积,step只有线条
        facecolor='b',
        alpha=0.75
    )
    plt.title('Histogram')
    
    plt.show()
    

      

    五、饼图
    饼图用于显示各项相对总和的百分比大小

    import matplotlib.pyplot as plt
    
    labels = ['class1','class2','class3','class4'] #名称
    sizes = [15,30,45,10] #比例
    explode = (0,0.1,0,0) #突出第二块,突出比例0.1
    
    plt.pie(
        sizes, #百分比
        explode=explode, #突出比例
        labels=labels, #名称
        autopct='%1.1f%%', #显示百分比方式
        shadow=False, #阴影效果
        startangle=90 #饼图起始的角度,度数,默认0为右侧水平180度开始,逆时针旋转
    )
    plt.axis('equal') #正圆形饼图,x/y轴尺寸相等.默认是扁图,
    
    plt.show()
    

      

    小结:

    #### 1.数据分析是什么
    - 从大量的数据中寻找规律和结论,为后续的决策提供依据

    #### 2.数据分析的流程
    - 问题 ---》准备数据---》分析数据---》得出结存---》图形化的展示出来

    #### 3.matplotlib如何绘制折线图,和散点图,折线图和散点图分别能表示的什么
    - x是所有的坐标的x值的一个列表(的可迭代对象)
    - y是所有的坐标的y值的一个列表(的可迭代对象)
    - pyplot.plot(x,y) #绘制折线图 (变化)
    - pyplot.scatter(x,y) #绘制散点图 (关系和联系,呈现离群点)


    #### 4.matplotlib如何显示中文
    ```python
    from matplotlib import font_manager
    my_font = font_manager.FontProperties(fname="")
    pyplot.xticks(fontproperties=my_font)
    pyplot.legend(prop=my_font)
    ```

    #### 5.matplotlib如何在x轴和y轴上显示我们自定义的内容
    - 当刻度太稀疏或者是太密集
    - pyplot.xticks()
    - x轴和y轴显示字符串
    - pyplot.xticks([1,2,3,4,],["str1","str2","str3","str4"])

    #### 6.matplotlib如何设置图片的大小和保存图片到本地
    - pyplot.figure(figsize = (20,8),dpi=80)
    - pyplot.savefig("./a.png")

    #### 7.设置图例
    - 每次绘制的时候需要给label这个参数传值
    - pyplot.legend(loc,prop=my_font)

    #### 8.设置网格
    - pyplot.grid(alpha=0.4)

  • 相关阅读:
    双端队列广搜
    多源bfs
    leetcode刷题-67二进制求和
    leetcode刷题-66加一
    leetcode刷题-64最小路径和
    leetcode刷题-62不同路径2
    leetcode刷题-62不同路径
    leetcode刷题-61旋转链表
    leetcode刷题-60第k个队列
    leetcode刷题-59螺旋矩阵2
  • 原文地址:https://www.cnblogs.com/andy9468/p/9889274.html
Copyright © 2011-2022 走看看