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

Python直方图区间(bins)配置异常:1000间隔设置问题求助

修复直方图绘制异常的问题

你的代码存在两个关键问题导致直方图显示异常,同时你的bins设置是正确的,以下是具体修复建议:

问题分析

  • 数据类型不匹配:列表v中的元素是字符串类型,matplotlib的hist函数无法对字符串进行频率统计,这是直方图异常的核心原因。
  • API使用错误:plt.set(ylabel='Frequency')不是设置纵轴标签的正确方法,会引发报错。
  • 你的bins设置是正确的:np.linspace(0, 10000, 11)生成了0、1000、2000……10000共11个分界点,恰好划分出10个间隔为1000的区间,完全符合你的需求。

修复后的完整代码

import matplotlib.pyplot as plt
import numpy as np

# 将字符串列表转换为浮点型数组
v = np.array([
    '1302.42', '7.85422', '21.0631', '6956.37', '10000', '10000',
    '7312.88', '7708.98', '8421.12', '7419.41', '1952.47', '6762.42',
    '10000', '4057.73', '2051.06', '10000'
], dtype=np.float64)

plt.hist(v, bins=np.linspace(0, 10000, 11))
plt.xticks(rotation=90)
plt.ylabel('Frequency')  # 正确设置纵轴标签
plt.show()

关键修复点说明

  1. 转换数据类型:使用np.array配合dtype=np.float64将所有字符串数值转为浮点型,确保直方图能正确统计每个区间的数值频率。
  2. 修正纵轴标签:替换错误的plt.set为plt.ylabel(),这是matplotlib设置纵轴标签的标准调用方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:10:33