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

如何用pandas基于字典绘制带标题的散点图?解决x未定义报错

解决方法

错误原因是你未将字典转换为pandas DataFrame,且x/y变量未定义——pandas的plot方法需要指定DataFrame的列名作为x和y参数,而非未定义的变量。

以下是完整可运行代码:

import pandas as pd
import matplotlib.pyplot as plt

# 定义原始数据字典
data_dict = {'2022-01-30': 50, '2022-01-31': 152, '2022-02-01': 41}

# 将字典转换为带指定列名的DataFrame
df = pd.DataFrame(list(data_dict.items()), columns=['Date', 'Quantity'])

# 绘制散点图,指定列名、标题与轴标签
df.plot(kind='scatter', x='Date', y='Quantity', title='Daily Quantity Scatter Plot')
plt.xlabel('Date')
plt.ylabel('Quantity')

# 显示图表
plt.show()

关键细节说明:

  • 字典转DataFrame时,list(data_dict.items())会把键值对转为二维列表,再通过columns参数直接指定Date(X轴)和Quantity(Y轴)列名,匹配你的需求。
  • 调用plot时,x和y直接传入列名字符串('Date'/'Quantity'),替代原本未定义的x/y变量。
  • 通过title参数添加图表标题,再用matplotlib.pyplot的xlabel/ylabel明确设置轴显示文本。

如果偏好另一种字典转DataFrame的写法,也可以用:

df = pd.DataFrame.from_dict(data_dict, orient='index', columns=['Quantity']).reset_index().rename(columns={'index': 'Date'})

该写法先将字典键设为索引,再重置索引为Date列,最终效果与上述代码一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:55:01