python数据可视化之直方图画法

编程入门 行业动态 更新时间:2024-10-09 02:29:46

python数据可视化之<a href=https://www.elefans.com/category/jswz/34/1763343.html style=直方图画法"/>

python数据可视化之直方图画法

  • 引入

    什么是直方图呢?

          直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。
          直方图是数值数据分布的精确图形表示。 这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。 为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。 这些值通常被指定为连续的,不重叠的变量间隔。 间隔必须相邻,并且通常是(但不是必须的)相等的大小。
    直方图也可以被归一化以显示“相对”频率。 然后,它显示了属于几个类别中的每个案例的比例,其高度等于1。

    简单来说,直方图间隔必须是要相邻,默认是频数作为纵坐标,当然也可以将其转化为频率

    • 第一种画法:
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
%matplotlib inline
# 第一种  
s = Series(np.random.randint(0,100,size=50))
# density 表示 归一化 即将默认的 频数分布 ---->>> 频率分布
# 旧版本是 使用 normed = True  貌似 比较新的版本 使用这个参数会爆出废弃警告,提示需要使用density
s.plot(kind='hist',range=[0,100],bins=5,density=True)

  • 第二种画法
# 第二种
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.random.randint(0,100,size=50)
plt.hist(x,bins=5,range=[0,100],density=True)
# 绘制网格线  看的比较清晰一些
plt.grid()

  • 第三种
# 第三种
from pyecharts.charts import Bar
from pyecharts import options as opts
import numpy as np
from examplemons import Faker
x = np.linspace(0,100,num=5).tolist()
# 由于笔者目前还没有找到 pyecharts 频数 转化成频率的接口 这里手动转化成频率直方图
y = np.random.randint(30,100,size=5)
y = (y / sum(y)).round(2).tolist()
# 参数 color 接收的是 十六进制 颜色 
color = Faker.rand_color()def bar_histogram() -> Bar:c = (Bar().add_xaxis(x,).add_yaxis("商家A", y, category_gap=0, color=color).set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方图"),yaxis_opts=opts.AxisOpts(name='我是y轴'),xaxis_opts=opts.AxisOpts(name='我是x轴')  ))return c
bar_histogram().render_notebook()
# ps 如果不习惯 链式调用的话 可以使用普通的方法调用 具体例子 看我之前的博客

更多推荐

python数据可视化之直方图画法

本文发布于:2024-03-05 21:14:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1713450.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:直方图   画法   数据   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!