zoukankan      html  css  js  c++  java
  • pyplot-常用图表

    pyplot-常用图表

    介绍最常用的:折线图、散点图、柱状图、直方图、饼图 的绘制

    需要学习的不只是如何绘图,更是什么样的数据用什么图表显示效果最好


    折线图

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

    见:pyplot-plot绘图


    散点图

    散点图可以显示若干数据系列中各数值之间是否存在相关性

    坐标系中,每个值用一个点表示

    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()

  • 相关阅读:
    Java随笔
    Java随笔
    Java随笔
    CF920E Connected Components?(并查集)
    CF1227F1 Wrong Answer on test 233 (Easy Version)(dp)
    Nginx上传文件限制
    Nginx代理---请求头
    Django中Model操作(数据库表名修改/列名修改/数据筛选过滤)
    Django中创建数据库报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=utf8' at line 1解决方案
    如何实现加入收藏、设为首页、保存到桌面的方法功能
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10131687.html
Copyright © 2011-2022 走看看