You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python绘制x轴为数值区间、y轴为区间计数的柱状图

数值区间分组统计及柱状图绘制实现方案

以下基于Python给出可直接运行的实现,支持自定义区间参数。

方案1:基于pandas+matplotlib实现(推荐,代码更简洁)

依赖安装

如果没有安装对应库,先执行安装命令:

pip install pandas matplotlib

完整实现代码

import pandas as pd
import matplotlib.pyplot as plt

# 输入数值列表
values = [0.2, 0.4, 1.2, 2.4, 5.4, 6.0, 0.3, 3.4]

# -------------------------- 自定义区间配置,可按需调整 --------------------------
# 方式1:等步长区间配置
bin_start = 0   # 区间起始值
bin_end = 6     # 区间结束值
bin_step = 1    # 区间步长
bins = list(range(bin_start, bin_end + bin_step, bin_step))

# 方式2:自定义非等步长区间,直接修改bins即可,例如:
# bins = [0, 2, 5, 10]
# -----------------------------------------------------------------------------

# 生成区间展示标签
bin_labels = [f"{bins[i]}-{bins[i+1]}" for i in range(len(bins)-1)]

# 分组统计各区间数值数量,此处规则为左闭右闭,可通过调整cut参数修改区间开闭规则
count_series = pd.cut(
    values, 
    bins=bins, 
    labels=bin_labels, 
    include_lowest=True, 
    right=True
).value_counts().sort_index()

# 输出你需要的字典格式统计结果
count_dict = count_series.to_dict()
print(count_dict)

# 绘制柱状图
plt.figure(figsize=(8, 5))
count_series.plot(kind='bar')

# 图表配置
plt.xlabel('区间范围')
plt.ylabel('no_of_values')
plt.xticks(rotation=0)

# 显示每个柱子的数值标签
for idx, num in enumerate(count_series):
    plt.text(idx, num + 0.05, str(num), ha='center')

plt.tight_layout()
plt.show()

运行后输出的统计结果为{'0-1': 3, '1-2': 1, '2-3': 1, '3-4': 1, '4-5': 0, '5-6': 2},与示例要求一致。


方案2:纯Python实现(无需第三方依赖)

仅需Python原生环境即可完成分组统计:

values = [0.2, 0.4, 1.2, 2.4, 5.4, 6.0, 0.3, 3.4]
# 自定义区间
bins = [0, 1, 2, 3, 4, 5, 6]
bin_labels = [f"{bins[i]}-{bins[i+1]}" for i in range(len(bins)-1)]

# 初始化计数字典
count_dict = {label: 0 for label in bin_labels}

# 遍历统计
for val in values:
    for i in range(len(bins)-1):
        # 区间判断规则:左闭右闭,可按需修改
        if bins[i] <= val <= bins[i+1]:
            count_dict[bin_labels[i]] += 1
            break

print(count_dict)

统计完成后可自行选择可视化工具绘制柱状图。


内容的提问来源于stack exchange,提问作者Shreehari W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:06:07