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

Python读取JSON交易数据并绘制买卖订单折线图问题求助

问题解决:提取交易订单数据并绘制买卖折线图

问题说明

我有一份交易订单JSON数据,结构如下:

{"code":"200000","data":[{"price":"1001","sequence":"1636607335665","side":"sell","size":"0.00000544","time":1657828843154264094},...]}

尝试读取price和side字段失败,现有代码仅输出最外层的code和data字段名,需求是分别提取买入(buy)、卖出(sell)订单的价格数据,并用折线图展示。

现有代码问题分析

原代码仅遍历了JSON最外层的键值对,没有深入到data数组中的每一条订单数据:

import json 

with open('events.json') as f:
    json_object = json.load(f)

pairs = json_object.items()

for side, price in pairs:
    print(side)

输出结果:

code
data

Process finished with exit code 0

修正后的完整代码

步骤1:提取买卖订单价格数据

遍历data数组中的每一条订单,筛选出buy和sell的价格,并转换为数值类型(原数据中price是字符串):

import json
import pandas as pd
import matplotlib.pyplot as plt

# 读取JSON数据
with open('events.json') as f:
    json_data = json.load(f)

# 初始化列表存储买卖数据
buy_prices = []
sell_prices = []
timestamps = []

# 遍历每一条订单数据
for order in json_data['data']:
    # 将价格转为浮点数
    price = float(order['price'])
    # 记录时间戳(用于X轴排序)
    timestamp = order['time']
    timestamps.append(timestamp)
    if order['side'] == 'buy':
        buy_prices.append(price)
    elif order['side'] == 'sell':
        sell_prices.append(price)

# 整理成DataFrame,按时间排序
df = pd.DataFrame({
    'timestamp': timestamps,
    'buy_price': buy_prices,
    'sell_price': sell_prices
}).sort_values('timestamp')

步骤2:绘制买卖价格折线图

基于整理好的DataFrame,分别绘制buy和sell的价格折线:

# 设置绘图风格
plt.style.use('seaborn')

# 创建画布
plt.figure(figsize=(10, 6))

# 绘制买入价格折线
plt.plot(df['timestamp'], df['buy_price'], label='买入价格', color='green', marker='o', markersize=3)
# 绘制卖出价格折线
plt.plot(df['timestamp'], df['sell_price'], label='卖出价格', color='red', marker='x', markersize=3)

# 添加图表标签和图例
plt.title('买卖订单价格趋势图')
plt.xlabel('时间戳')
plt.ylabel('价格')
plt.legend()

# 旋转X轴标签,避免重叠
plt.xticks(rotation=45)

# 显示图表
plt.tight_layout()
plt.show()

代码说明

  1. 数据提取部分:遍历json_data['data']中的每个订单对象,根据side字段区分买卖订单,同时收集时间戳保证数据按时间顺序排列。
  2. 绘图部分:使用pandas整理数据并排序,matplotlib绘制双折线图,添加了图例、标签和样式优化,让图表更清晰易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:36:14