python matplotlib条形图,matplotlib绘制条形图的函数

  python matplotlib条形图,matplotlib绘制条形图的函数

  Matplotlib是Python的绘图库,它允许用户轻松地绘制数据,并提供各种输出格式。本文将向大家介绍如何用matplotlib绘制条形图和直方图,有兴趣的朋友可以学习一下。

  00-1010摘要一、bar()函数二、hist()函数三、数据统计

  

目录

 

  首先介绍条形图直方图,然后用随机数生成一系列数据并保存在列表中。最后统计并显示相关随机数据的概率。

  本文介绍了上述由标记点构成的拆线图和由散点构成的图形。matplotlib中的plot()和scatter()函数主要用于将点连接成线。但现实生活中,不仅有折线图,还有月度经济数据对比图、身高统计图等。制作图表时,很容易比较和看出差异。

  利用matplotlib中的bar()函数和hist()实现条形图和直方图。

  

摘要

 

  bar()函数的主要参数如下:

  条形图(x,height,width=0.8,bottom=None,*,align=center ,data=None,**kwargs)

  参数1: X3360标量类型,X轴上的坐标。或者浮点数数组结构。注意,x可以是字符串数组

  参数2:高度:y轴上的坐标。或者浮点数数组结构。

  参数:width:指定柱形图的宽度。或者浮点数数组结构。默认值为0.8

  参数:bottom:标量或标量数组类型,y坐标的起始高度。

  5: align:直方图在X轴上的对齐方式,可选{center , edge}中心:中心对称边缘:边缘对称

  6: * * kwargs:将接收到的关键字参数传递给关联的矩形。返回值:BarContainer实例,其patches属性是一列列表。

  条形图(Bar chart)一个简单的例子,随机设置12个月,并给定一些数据,代码如下:

  Plt。条形([1,2,3,4,5,6,7,8,9,10,11,12,13],[5,2,7,8,2,1,8,6,2,5,6,7,10],)

  Plt.legend() #显示运行结果中的图例名称。

  plt.xlabel(条形编号)

  plt.ylabel(条形高度)

  plt.title(“测试”)

  plt.show()

  第一列中的Color= red 表示所有直方图都以红色显示。要显示差异,请进行以下修改:

  将matplotlib.pyplot作为plt导入

  plt.bar([1,3,5,7,9,11],[5,7,8,6,7,10],label=测试一,color=#202204 )

  Plt.bar ([2,4,6,8,10,12],[8,6,2,5,6,7],label= testtwo ,color= g) # color也可以是十六进制,如上面的#202204所示。

  Plt.legend() #显示运行结果中的图例名称。

  plt.xlabel(条形编号)

  plt.ylabel(条形高度)

  plt.title(“测试”)

  plt.show()

  具体结果如下:

  

一、bar()函数

 

  hist(x,bins=None,range=None,density=None,weights=None,cumulative=False,bottom=None,histtype="bar ",align="mid ",orientation="vertical ",rwidth=None,log=False,color=None,label=None,stacked=False,normed=None,hold=None,data=None,**kwargs)

  hist()函数的

  基础参数如下:

  

  • x :表示输入值,可以是单个数组,或者不需要相同长度的数组序列。

  • bins:表示绘制条柱的个数。若给定一个整数,则返回 bins+1 个条柱,默认为10。

  • range:bins的上下范围(最大和最小值)。

  • color:表示条柱的颜色,默认为None。

  • facecolor #直方图颜色

  • edgecolor #直方图边框颜色

  • alpha # 透明度

  • histtype #直方图类型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’

  • orientation # 水平或垂直方向

  • rwidth #柱子与柱子之间的距离,默认是0

 

  下面通过一个例子来说明hist()函数的作用:

  

import matplotlib.pyplot as plt

 

  注意:bins[]中60,80和100,130中间缺少是故意为之,为了显示区别

  运行结果如下:

  

 

  很明显,hist()函数会自动根据参数bins中的区分将参数x中的数据自动进行统计。

  搞事情,既然参数x(如例子中的population_ages)可能是数列,那能否用随机函数自动生成数组,然后在进行统计呢?当然可以。

  

 

  

三、数据统计

 

  色子经常用来娱乐(用作他途造成后果与我无关),它有6个面,分别点数为1,2,3,4,5,6,可利用随机函数(上篇中的choice函数)来随机产生,比如choice([1,2,3,4,5,6]),产生N次(比如20万次)并将每次结果保存到列表中,最后统计出各点的总数或所点比例。

  分析:

  1)先建一个类,其功能就是运行一次,就随机选择6个面(点数)

  2)将色子实例化,并给定一个参数(运行的次数),图形化显示出来。

  

class Sezi():

 

  运行结果:

  

 

  与此同时,为了后面方便,引入另一个随机函数randint(x, y),这个函数的作用是产生x-y之间的数字,比如randint(1,10),就产生1到10之间的数字。

  choice([1,2,3,4,5,6])可以修改为randint(1,self.sides),这样实例化后,需要输入随意一个面数,就会随机产生对应的数字。

  上述还只是打印在交互栏,且类、实例还是在一个文件中,分成不同的文件,并数据统计用图的形式显示。

  1.重新修改色子类

  文件名sezi.py,里面代码如下:

  

from random import *

 

  2.新建一个名称sezigame.py的文件,代码如下

  

import matplotlib.pyplot as plt

 

  运行结果:

  

 

  如果有2个相同的色子呢?

  同时掷两个骰子,最小为2,最大为12,结果分布情况自然也就不同。

  将名称sezigame.py的文件修改,改动后的代码如下:

  

import matplotlib.pyplot as plt

 

  运行结果如下:

  

 

  是不是有点正态分布的感觉了?

  以上就是Python+matplotlib绘制条形图和直方图的详细内容,更多关于Python matplotlib条形图 直方图的资料请关注盛行IT软件开发工作室其它相关文章!

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

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