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

如何以散点图形式绘制直方图?Python实现同类图表方法

以散点图形式绘制直方图及Python实现

问题1:如何以散点图形式绘制直方图?

核心逻辑是先统计数据的区间频数,再将区间位置与对应频数作为散点坐标绘图:

  • 用numpy.histogram()计算数据的频数分布和区间边界
  • 提取区间边界的前n个值(n等于频数的数量),和频数一一对应作为散点的x、y坐标
  • 调用matplotlib.pyplot.scatter()完成散点绘制

问题2:如何在Python中绘制类似示例图的图表?

以下是可直接运行的实现代码,效果与示例图一致:

import matplotlib.pylab as plt
import numpy as np
from scipy.stats import binom

# 生成100个服从二项分布的随机样本数据
y = binom.rvs(n=10, p=0.5, size=100)
# 计算直方图的区间频数和边界
counts, bins = np.histogram(y, bins=50)
# 绘制散点图:区间左端点对应x轴,频数对应y轴
plt.scatter(bins[:len(counts)], counts)
# 添加网格线提升可读性
plt.grid()
# 显示图表
plt.show()

代码说明:

  • binom.rvs():生成符合二项分布的随机数据,作为绘图的数据源
  • np.histogram():将数据划分为50个区间,返回每个区间的频数counts和所有区间的边界bins(bins长度比counts多1)
  • plt.scatter():把每个区间左端点和对应频数绘制成散点,还原直方图的分布趋势

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:08:15