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

如何使用Matplotlib正确绘制图表?解决数值分布不均的绘图异常

问题解决:正确绘制数值分布的折线图

问题原因

你的l1和l2都是字符串类型的列表,Matplotlib默认会把字符串视为分类标签,每个标签在x轴上占据等宽的位置,完全忽略了字符串背后的数值大小,所以才会出现x轴步长均匀的情况。

解决方法

把两个列表里的字符串元素转换成浮点型数值,再用转换后的数值绘图即可:

代码示例

import matplotlib.pyplot as plt

l1 = ['100.00', '120.33', '140.21', '159.81', '179.25', '183.13', '202.49', '202.89', '204.18', '205.35', '206.44', '207.45', '208.40', '209.30', '210.15', '210.96', '211.73', '212.47', '213.18', '213.87', '214.53', '215.17', '215.79', '216.39', '216.98', '217.54', '218.10', '218.63', '219.16', '219.67', '220.18', '220.67', '221.15']
l2 = ['13.14', '13.37', '13.53', '13.66', '13.76', '13.77', '20.70', '21.51', '23.85', '26.39', '29.13', '32.06', '35.17', '38.47', '41.95', '45.63', '49.50', '53.59', '57.90', '62.45', '67.25', '72.33', '77.70', '83.40', '89.43', '95.83', '102.65', '109.90', '117.65', '125.95', '134.84', '144.40', '154.71']

# 将字符串列表转换为浮点型数值列表
x = [float(num) for num in l1]
y = [float(num) for num in l2]

# 绘制符合数值分布的图表
fig, ax = plt.subplots(1)
ax.plot(x, y)
plt.show()

效果说明

转换后,Matplotlib会把x轴当作连续数值轴处理,根据数值的实际大小分配间距,就能得到和目标样式一致的图表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:35:21