精华内容
参与话题
问答
  • 现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助。项目中在前期经常要看下数据的...

    现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助。

    v2-929fbcbaf9f6c9d3c9981f5c60203a2f_b.jpg

    项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来。还是Python大法好,代码简洁不拖沓~

    如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种;如果数据取值范围比较野,也可以自定义区间端点,绘制图像,下面分两种情况展示

    1.区间长度相同绘制直方图

    #-*- encoding=utf-8 -*-

    import datetime

    import numpy as np

    import matplotlib.pyplot as plt

    import matplotlib

    zhfont1 = matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc')

    # 按照固定区间长度绘制频率分布直方图

    # bins_interval 区间的长度

    # margin 设定的左边和右边空留的大小

    def probability_distribution(data, bins_interval=1, margin=1):

    bins = range(min(data), max(data) + bins_interval - 1, bins_interval)

    print(len(bins))

    for i in range(0, len(bins)):

    print(bins[i])

    plt.xlim(min(data) - margin, max(data) + margin)

    plt.title("probability-distribution")

    plt.xlabel('Interval')

    plt.ylabel('Probability')

    plt.hist(x=data, bins=bins, histtype='bar', color=['r'])

    plt.show()

    2.区间长度不同绘制直方图

    #-*- encoding=utf-8 -*-

    import datetime

    import numpy as np

    import matplotlib.pyplot as plt

    import matplotlib

    zhfont1 = matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc'

    # 自己给定区间,小于区间左端点和大于区间右端点的统一做处理,对于数据分布不均很的情况处理较友好

    # bins 自己设定的区间数值列表

    # margin 设定的左边和右边空留的大小

    # label 右上方显示的图例文字

    """e

    import numpy as np

    data = np.random.normal(0, 1, 1000)

    bins = np.arange(-5, 5, 0.1)

    probability_distribution_extend(data=data, bins=bins)

    """

    def probability_distribution_extend(data, bins, margin=1, label='Distribution'):

    bins = sorted(bins)

    length = len(bins)

    intervals = np.zeros(length+1)

    for value in data:

    i = 0

    while i < length and value >= bins[i]:

    i += 1

    intervals[i] += 1

    intervals = intervals / float(len(data))

    plt.xlim(min(bins) - margin, max(bins) + margin)

    bins.insert(0, -999)

    plt.title("probability-distribution")

    plt.xlabel('Interval')

    plt.ylabel('Probability')

    plt.bar(bins, intervals, color=['r'], label=label)

    plt.legend()

    plt.show()

    Case示例

    if __name__ == '__main__':

    data = [1,4,6,7,8,9,11,11,12,12,13,13,16,17,18,22,25]

    probability_distribution(data=data, bins_interval=5,margin=0)

    以上就是小猿圈python讲师给大家分享的绘制频率分布直方图示例,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以到小猿圈直接观看,想要学好Python开发技术的小伙伴快快行动吧。

    展开全文
  • Python画频率分布直方图,不显示图形怎么办Python画频率分布直方图导入数据并作直方图图形不显示的解决方法 Python画频率分布直方图 我们在拿到一组数据时,为了观察其大致分布,常常需要绘制其频率分布直方图。下面...

    Python画频率分布直方图

    我们在拿到一组数据时,为了观察其大致分布,常常需要绘制其频率分布直方图。下面记录一下今天捯饬了大半天,用pycharm画出频率分布直方图的过程

    导入数据并作直方图

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib
    import math
    
    //编写函数
    # 函数的定义参考博客:https://blog.csdn.net/whgyxy/article/details/88713917,并进行一些调整以适应非整数的数据
    # 按照固定区间长度绘制频率分布直方图
    # bins_interval 区间的长度
    # margin        设定的左边和右边空留的大小
    def probability_distribution(data, bins_interval=1, margin=1):
        bins = np.arange(math.floor(np.min(data)), math.ceil(np.max(data)), bins_interval)
        print(len(bins))
        for i in np.arange(0, len(bins)):
            print(bins[i])
        plt.xlim(math.floor(np.min(data)) - margin, math.ceil(np.max(data)) + margin)
        plt.title("Probability-distribution")
        plt.xlabel('Interval')
        plt.ylabel('Probability/Interval')
        # normed参数调整density,为频率分布density=True,频次分布density=False
        prob,left,rectangle = plt.hist(x=data, bins=bins, density=True, histtype='bar')
        for x, y in zip(left, prob):
            # 字体上边文字
            # 频率分布数据 normed=True
            plt.text(x + bins_interval / 2, y + 0.003, '%.2f' % y, ha='center', va='top')
        plt.show()
      
      //调用函数
     data=pd.read_excel('data.xlsx','Sheet3')  #读入数据
     if __name__ == '__main__':
       probability_distribution(data=data, bins_interval=5,margin=0)
    

    图形不显示的解决方法

    这时候使用以上代码会发现,没有报错,但是图形迟迟不出来。经过多次尝试,发现使用随机数据可以出图,但是导入的数据不行,所以是数据类型的问题。需要在导入数据时进行一下数据类型的转化即可,代码如下:

    data=pd.read_excel('data.xlsx','Sheet3')  #导入数据
    data=np.array(data) #通过该方法将数据由pandas.core.frame.Dataframe类型转变为numpy.ndarray格式
    

    到这里就可以正常运行啦~需要注意的是python的循环是通过缩进来识别的,所以要注意语句的缩进。

    展开全文
  • Python绘制频率分布直方图

    万次阅读 2019-03-21 14:10:44
    Python绘制频率分布直方图 项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁...

    Python绘制频率分布直方图

    项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来。还是Python大法好,代码简洁不拖沓~

    如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种;如果数据取值范围比较野,也可以自定义区间端点,绘制图像,下面分两种情况展示

    plt.hist函数中有个参数normed默认是None,表示不对数据进行归一化,这个情况绘制出来的就是频次直方图,加了normed=True,之后就是标准的频率直方图

    1. 区间长度相同绘制直方图

    #-*- encoding=utf-8 -*-
    import datetime
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib
    zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')
    
    
    # 按照固定区间长度绘制频率分布直方图
    # bins_interval 区间的长度
    # margin        设定的左边和右边空留的大小
    def probability_distribution(data, bins_interval=1, margin=1):
        bins = range(min(data), max(data) + bins_interval - 1, bins_interval)
        print(len(bins))
        for i in range(0, len(bins)):
            print(bins[i])
        plt.xlim(min(data) - margin, max(data) + margin)
        plt.title("Probability-distribution")
        plt.xlabel('Interval')
        plt.ylabel('Probability')
        # 频率分布normed=True,频次分布normed=False
        prob,left,rectangle = plt.hist(x=data, bins=bins, normed=True, histtype='bar', color=['r'])
        for x, y in zip(left, prob):
            # 字体上边文字
            # 频率分布数据 normed=True
            plt.text(x + bins_interval / 2, y + 0.003, '%.2f' % y, ha='center', va='top')
            # 频次分布数据 normed=False
            # plt.text(x + bins_interval / 2, y + 0.25, '%.2f' % y, ha='center', va='top')
        plt.show()
    

    2. 区间长度不同绘制频次直方图

    #-*- encoding=utf-8 -*-
    import datetime
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib
    zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc'
    
    # 自己给定区间,小于区间左端点和大于区间右端点的统一做处理,对于数据分布不均很的情况处理较友好
    # bins      自己设定的区间数值列表
    # margin    设定的左边和右边空留的大小
    # label     右上方显示的图例文字
    """e
        import numpy as np
        data = np.random.normal(0, 1, 1000)
        bins = np.arange(-5, 5, 0.1)
        probability_distribution_extend(data=data, bins=bins)
    """
    def probability_distribution_extend(data, bins, margin=1, label='Distribution'):
        bins = sorted(bins)
        length = len(bins)
        intervals = np.zeros(length+1)
        for value in data:
            i = 0
            while i < length and value >= bins[i]:
                i += 1
            intervals[i] += 1
        intervals = intervals / float(len(data))
        plt.xlim(min(bins) - margin, max(bins) + margin)
        bins.insert(0, -999)
        plt.title("probability-distribution")
        plt.xlabel('Interval')
        plt.ylabel('Probability')
        plt.bar(bins, intervals, color=['r'], label=label)
        plt.legend()
        plt.show()
    

    Case示例

    if __name__ == '__main__':
        data = [1,4,6,7,8,9,11,11,12,12,13,13,16,17,18,22,25]
        probability_distribution(data=data, bins_interval=5,margin=0)
    

    效果如下图

    频次分布直方图
    在这里插入图片描述
    频率分布直方图
    在这里插入图片描述

    展开全文
  • #画频率分布直方图 #纵坐标名字为frequency,频数直方图。则使用:hist(x,freq=T) #纵坐标名字为density,频率直方图。则使用:hist(x,freq=F) hist(audit1[,1],col='white',freq=T)
    #画频率分布直方图
    #纵坐标名字为frequency,频数直方图。则使用:hist(x,freq=T)
    #纵坐标名字为density,频率直方图。则使用:hist(x,freq=F)

    hist(audit1[,1],col='white',freq=T)


    展开全文
  • 用Excel生成频率分布表及频率分布直方图
  • 今天小编就为大家分享一篇Python绘制频率分布直方图的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 一、什么是直方图 1、定义 直方图是一种条形图,是以组距为底边、以频数为高度的一系列连接起来的直方型矩形图 2、相关概念 组数:在统计数据时,把数据按照不同的范围分成几个组,分成的组的个数称为组数。 ...
  • 直方图能帮助迅速了解数据的分布形态,将观测数据分组,并以柱状条表示各分组中观测数据的个数。简单而有效的可视化方法,可检测数据是否有问题,也可看出数据是否遵从某种已知分布。本次案例通过生成深圳市疫情个案...
  • 茎叶 知识回忆 初中统计部分曾学过用平均数、众数、中位数反映总体的集中水平 1、众 数:在一组数据中,出现次数最多的数据叫做这组数据的众数; 2、中位数:将一组数据按大小依次排列,把处在最中间位置的一个...
  • Matlab做分布拟合及绘制频率分布直方图

    万次阅读 多人点赞 2018-02-24 12:27:47
    % 画频率分布直方图 [counts,centers] = hist(x, 7); figure bar(centers, counts / sum(counts)) % 分布参数拟合 [mu,sigma]=normfit(x); % 画已知分布的概率密度曲线 x1 = -4:0.1:4; y1 = pdf('...
  • 文章目录说明1、geom_histogram函数说明2、绘图举例3、画频率分布直方图频率加倍4、解决办法 说明 R语言的版本为4.0.2,IDE为Rstudio,版本为1.3.959。学习过程中参考了以下文章: R语言ggplot2频率分布直方图小例子...
  • python 频率分布直方图

    2020-10-15 23:36:35
    但在使用hist时存在着如果设置normed,改变bins数量会导致概率变化的问题,因此在绘制分布直方图时需要将bins数量设置为真实的数量。 2.hist参数解析 matplotlib.pyplot.hist( x, bins=10, range=None, normed=...
  • n&amp;amp;lt;-round(runif(1000,0,100)) #生成0到100的...hist(n,freq = F) #频率分布直方图,纵坐标名字为density n&amp;amp;lt;-rnorm(1000) #服从正态分布的1000个数 hist(n) hist(n,freq = F) ...
  • 用Excel生成频率分布表及频率分布直方图 福建省南平高级中学 郑定华 353000 手机 13859389247 摘 要:依托Excel提供的“分析工具”,通过具体例子,进行实际操作与求解分析,完美高效地解决统计问题,使师生从...
  • 这些年小葱老师以经验和数据事实证明,全国卷命题不回避热点,不回避已考点,不回避经典问题,简单的说就是只要不违反大原则,看似任性,实际更显执着!高考真题是研究高考最直接有效的素材...回归“品”题频率分布...
  • matplotlib在画频率分布直方图时显示y轴的数值比例 在论坛上找了好久都没解决,最后发现了一种写法,亲测有效~ 首先导入相关模块 import matplotlib.pyplot as plt from matplotlib.ticker import ...
  • 展开全部组距=方差/组数,然后向上取整636f70793231313335323631343130323136353331333431353966。但是组数怎么确定呢很复杂,8-10组之间然后再微调吧。在直角坐标系中,横轴表示样本数据的连续可取数值,按数据的...
  •  (1)按0-59,60-69,70-79,80-89,90-100分组绘制高级语言程序设计成绩的频率分布直方图。  (2)按0-59,60-69,70-79,80-89,90-100分组绘制计算机导论成绩的分布饼图。  (3)绘图前4门课程的折线比较图...
  • 频率分布直方图和累积频率分布图

    千次阅读 2016-11-16 11:12:00
    之所以回顾这个知识点,是因为文[1]用这种方法对比了4种匹配方法的精度和稳健性。  经过大量的试验,所有的匹配结果中,小误差的累积概率越大,则该匹配方法的精度越高。大多数情况下该方法能够取得较好的匹配精度...
  • 直方图4. 箱线图1. 基础概念介绍「总体与个体」将试验的全部可能的观察值称为「总体」每一个可能的观察值称为「个体」总体中所包含的个体的个数称为总体的「容量」容量为有限的称为「有限总体」容量为无限的称为「...
  • 最近在做温差直方图统计。 先来看下最新的histogram 一些使用语法直接拉到最底,重点说两个。 废话不多说上代码: a=[1,2,3;3,4,5;2,3,1]; histogram(a) 相比于hist这是一个比较大的更新吧。 在获取直方图时,需要...

空空如也

1 2 3 4 5 ... 20
收藏数 473
精华内容 189
关键字:

频率分布直方图