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

Y轴显示异常求助:每日筹款金额折线图绘制故障排查

问题排查与解决:Matplotlib Y轴显示异常问题

核心问题分析

  • 数据类型错误:donax中的筹款金额是带逗号的字符串(如'60,299'),Matplotlib会将其识别为分类数据,导致Y轴按字符串字典序排列,而非数值大小排序。
  • 数据维度不匹配:dax长度为6,donax长度为17,绘图时维度不匹配会引发异常或显示错乱。
  • 代码语法问题:set_figwidth未正确调用,注释的plt.yticks未生效,无法自定义Y轴刻度。

修正后的完整代码

import matplotlib.pyplot as plt

# 1. 处理筹款金额数据:将带逗号的字符串转为数值类型
donax = ['60,299', '48,610', '6,480', '12,286', '36,999', '25,600', '10,351', '10,000', '12,950', '13,000', '2,000', '17,501', '250', '1,100', '4,000', '2,000', '50,000']
donax_numeric = [int(amount.replace(',', '')) for amount in donax]

# 2. 匹配X轴日期数据:当前用1-17日对应现有数据,若有完整59天数据可替换为range(1,60)
dax = list(range(1, len(donax_numeric) + 1))

# 3. 设置图表宽度
plt.figure(figwidth=10)

# 4. 绘制折线图
plt.plot(dax, donax_numeric)

# 5. 自定义Y轴刻度,按需求调整
plt.yticks([0, 1000, 5000, 10000, 30000, 50000, 100000])

# 6. 添加轴标签与标题
plt.xlabel('日期(1-59日)')
plt.ylabel('每日筹款金额')
plt.title('每日筹款金额趋势')

plt.show()

关键修复点说明

  1. 数据类型转换:通过replace(',', '')移除金额字符串中的逗号,再转为整数,确保Matplotlib按数值逻辑处理Y轴数据。
  2. 维度匹配:生成与Y轴数据长度一致的X轴日期序列,避免绘图时维度不匹配问题。
  3. 语法修正:用plt.figure(figwidth=...)正确设置图表宽度,启用plt.yticks自定义刻度,让Y轴按预期数值区间显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:15:20