【数据分析】描述性统计分析 - 直方图

一、什么是直方图

  • 由一批长方形构成,通过长方形的面积或高度来代表对应组在数据中所占的比例。
  • 用长方形的面积代表对应组的频数与组距的比时,则称为频率分布直方图;
  • 当用长方形的高代表对应组的频数时,则称为频数分布直方图
  • 但严格统计意义上的直方图都是指频率分布直方图 ,而且统计意义上的直方图没有纵向刻度

二、绘制直方图

三、Python 绘制直方图

1、使用 pandasnumpymatplotlib绘制直方图

python 复制代码
# Using pandas, numpy, matplotlib to draw histograms
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

# set the backend of matplotlib to TkAgg
matplotlib.use('TkAgg')

data = pd.DataFrame({
    # Generate 1000 random numbers with a standard normal distribution
    'Values': pd.Series(np.random.randn(1000))
})

# Draw a histogram
data['Values'].plot.hist(bins=30, alpha=0.5, color='lightblue',
                        edgecolor='darkblue')


# set chart title and axis labels
plt.title('Histogram of Values')
plt.xlabel('Value')
plt.ylabel('Frequency')

# display chart
plt.show()

2、使用 pandasnumpymatplotlib绘制直方图

python 复制代码
# Using plotly.express to draw histograms
import plotly.express as px
import pandas as pd
import numpy as np
# data = [1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

data = pd.DataFrame({
    'Values': pd.Series(np.random.randn(1000))
})
# Nbins defines the number of boxes in the histogram
fig = px.histogram(data, nbins=80,
                   color_discrete_sequence=['blue'],
                   labels={'Values': 'Value'},
                   title='Histogram of Values',
                   # marginal="box"
                   )

fig.update_traces(
    marker=dict(
        color='lightblue',
        opacity=0.75,
        line=dict(
            color='darkblue',
            width=1
        )
    )
)

# display chart
fig.show()

3、使用 pandasnumpydash****和 plotly.express绘制直方图

python 复制代码
# Using dash, plotly.express to draw histogram
import dash
import numpy as np
import pandas as pd
from dash import html, dcc
import plotly.express as px

# create a dash application
app = dash.Dash(__name__)

# create as list
# data = [1, 2, 2, 2, 2, 3, 4, 5, 5, 5, 6, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 12, 12, 12, 13, 14, 12, 15, 15, 16, 17, 18, 18, 18, 19, 19, 20, 20, 20]
data = pd.DataFrame({
    'Values': pd.Series(np.random.randn(1000))
})

# use plotly.express to draw histogram
fig = px.histogram(data, nbins=60,
                    color_discrete_sequence=['blue'],
                    labels={'Values': 'Value'},
                    title='Histogram of Values',
                    # marginal="box",
                    )

fig.update_traces(
    marker=dict(
        color='lightblue',
        opacity=0.75,
        line=dict(
            color='darkblue',
            width=1
        )
    )
)

# define application layout
app.layout = html.Div([
    html.H1('Dash Histogram Example'),
    dcc.Graph(figure=fig)
])

# run the application
if __name__ == '__main__':
    app.run_server(debug=True)
相关推荐
武子康2 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
Q8137574603 小时前
数据挖掘在金融交易中的应用:民锋科技的智能化布局
人工智能·科技·数据挖掘
布说在见3 小时前
魅力标签云,奇幻词云图 —— 数据可视化新境界
信息可视化·数据挖掘·数据分析
Tianyanxiao4 小时前
如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
大数据·人工智能·科技·数据分析·深度优先·零售
招风的黑耳4 小时前
Axure大屏可视化模板:赋能各行各业的数据展示与管理
axure·数据可视化·大屏模板
FIT2CLOUD飞致云5 小时前
仪表板展示|DataEase看中国:历年双十一电商销售数据分析
数据分析·开源·数据可视化·dataease·双十一
皓7415 小时前
服饰电商行业知识管理的创新实践与知识中台的重要性
大数据·人工智能·科技·数据分析·零售
菜鸟的人工智能之路6 小时前
桑基图在医学数据分析中的更复杂应用示例
python·数据分析·健康医疗
阡之尘埃13 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
布说在见15 小时前
层次与网络的视觉对话:树图与力引导布局的双剑合璧
信息可视化·数据挖掘·数据分析