如何用python绘制正方形,python怎么绘制直方图

  如何用python绘制正方形,python怎么绘制直方图

  本文主要介绍用python绘制简单直方图的方法。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  直方图又称质量分布图,是一种统计报表图表,由一系列不同高度的竖条或线段表示。横轴表示数据类型,纵轴表示分布。直方图是数字数据分布的精确图形表示。绘制连续数据以显示一组或多组数据的分布。

  直方图的绘制有点类似于条形图,需要将plt.bar()改为plt.hist(),改变图形的拟合方式来绘制直方图。例如,您获得了250部电影的数量,这些电影的时长都是80-140分钟。如何呈现电影时长的分布?

  像往常一样,代码:

  组号=极限范围/组距

  从matplotlib导入pyplot作为plt

  从matplotlib导入font_manager

  随机导入

  a=[对于范围(250)中的I,random.randint(80,140)]

  打印(一份)

  打印(最大(a)-最小(a))

  #计算组数

  D=3 #组距离

  num_bins=(max(a)-min(a))//d

  #设置图形尺寸

  plt.figure(figsize=(20,8),dpi=80)

  plt.hist(a,num _ bins)

  #设置x轴刻度

  plt.xticks(范围(最小值(a),最大值(a) d,d))

  #设置网格

  plt.grid(alpha=0.4)

  plt.show()

  运行结果如下:

  80-140的250个随机整数由程序分析:随机数random.randint()生成,代表250部电影的时长。然后将时间段进行分组,将组距d设为3,那么(max-min)//d为分组数,然后用plt.hist()拟合组数和数据。在设置X刻度时,由于范围包含头部而不包含尾部,所以最后的截止位置要加上组距D才能完整显示。可以看出,该数字直方图可以显示每个时间段中每个电影持续时间的数量。那么问题又来了。想知道各时间段占总时间段的比例,也就是频率分布直方图怎么办?

  如此简单!你只需要在plt.hist()中设置参数density=True就可以实现量的频率,其余不变。

  代码如下:

  组号=极限范围/组距

  从matplotlib导入pyplot作为plt

  从matplotlib导入font_manager

  随机导入

  a=[对于范围(250)中的I,random.randint(80,140)]

  打印(一份)

  打印(最大(a)-最小(a))

  #计算组数

  D=3 #组号

  num_bins=(max(a)-min(a))//d

  #设置图形尺寸

  plt.figure(figsize=(20,8),dpi=80)

  PLT。HIST (a,num _ bins,density=true) #使用密度实现频率转换

  #设置x轴刻度

  plt.xticks(范围(最小值(a),最大值(a) d,d))

  #设置网格

  plt.grid(alpha=0.4)

  plt.show()

  运行结果:

  很明显,每个时间段的数量就变成了总的比例,也就是频率,达到了想要的效果。

  想自己设置X轴的数据和距离,不均匀划分X轴的刻度怎么办?

  上部代码:

  #编码=utf-8

  从matplotlib导入pyplot作为plt

  从matplotlib导入font_manager

  区间=[0,5,10,15,20,25,30,35,40,45,60,90,150]

  宽度=[5,5,5,5,5,5,5,5,5,15,30,60]

  数量=[836,2737,3723,3926,3596,1438,3273,642,824,613,215,47]

  plt.figure(figsize=(20,8),dpi=80)

  plt.bar(range(len(quantity)),quantity,width=1)

  #设置x轴刻度

  _ x=[范围(13)中的I为I-0.5]

  plt.xticks(_x,间隔)

  plt.grid(alpha=0.8)

  plt.show()

  运行结果如下:

  如你所见,这很简单。你只需要设置X轴对应的数据,设置X轴对应的刻度,匹配数据即可。必须注意,分配组的数量与数据的数量相匹配。

  在这篇文章中,总结:大体讲述了频率直方图和频率直方图的绘制方法,并通过图像对比找出每种直方图的优缺点,以便在工程中应用。

  这就是本文的全部内容。希望对大家的学习有所帮助,也希望大家能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: