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

如何在Python中将字典转换为两个一维数组并用于Matplotlib绘图

字典转有序数组并Matplotlib绘图实现

一、将字典转换为有序一维数组

给定目标字典,我们通过对键排序、提取对应值的方式生成两个有序数组:

# 原始字典
original_dict = {4: 6, 6: 2, 1: 2, 3: 7, 5: 4, 9: 1, 2: 3, 7: 2, 8: 1}

# 对字典键升序排序得到arr1
arr1 = sorted(original_dict.keys())

# 根据排序后的键提取对应值,生成arr2
arr2 = [original_dict[key] for key in arr1]

# 验证输出
print("arr1 =", arr1)  # 输出: arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print("arr2 =", arr2)  # 输出: arr2 = [2, 3, 7, 6, 4, 2, 2, 1, 1]

二、使用Matplotlib绘图

导入Matplotlib库后,直接指定arr2为x轴数据、arr1为y轴数据即可完成绘图,以下是散点图+折线图的示例:

import matplotlib.pyplot as plt

# 定义轴数据
x = arr2
y = arr1

# 设置画布大小
plt.figure(figsize=(8, 6))

# 绘制数据点和趋势线
plt.scatter(x, y, color='darkblue', label='数据点')
plt.plot(x, y, color='crimson', linestyle='--', label='趋势线')

# 设置轴标签与标题
plt.xlabel('arr2 (X轴)')
plt.ylabel('arr1 (Y轴)')
plt.title('arr2 与 arr1 数据可视化')

# 添加图例并显示图形
plt.legend()
plt.show()

关键说明

  • sorted()默认对字典键做升序排序,刚好匹配需求中的arr1顺序。
  • 列表推导式可快速映射排序后的键与对应值,生成arr2。
  • 若需更换绘图类型(如柱状图、条形图),只需将scatter()/plot()替换为bar()/barh()等对应方法即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:40:59