Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python使用matplotlib打印json文件数据_Python_Json_Python 3.x_Matplotlib - Fatal编程技术网

python使用matplotlib打印json文件数据

python使用matplotlib打印json文件数据,python,json,python-3.x,matplotlib,Python,Json,Python 3.x,Matplotlib,我有下面的json文件,我想根据字节和时间戳制作条形图。请注意,文件上提供的时间戳不符合顺序,它们需要 { "success":true, "data":[ { "record_id":258585618, "timestamp":"2018-01-21 22:34:34", "bytes":29466, }

我有下面的json文件,我想根据字节和时间戳制作条形图。请注意,文件上提供的时间戳不符合顺序,它们需要

{
    "success":true,
        "data":[
            {

                "record_id":258585618,
                "timestamp":"2018-01-21 22:34:34",
                "bytes":29466,

            }
            ,
            {
                "record_id":258585604,
                "timestamp":"2018-01-21 22:33:14",
                "bytes":37892,
            }
            ,
            {
                "record_id":258584399,
                "timestamp":"2018-01-21 22:37:40",
                "bytes":36396,
            }
        ]
    }

非常感谢

编辑:我现在已经对条形图的日期进行了排序

你可以这样做:

import json
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
data = json.dumps({
    "success":True,
        "data":[
            {

                "record_id":258585618,
                "timestamp":"2018-01-21 22:34:34",
                "bytes":29466,

            }
            ,
            {
                "record_id":258585604,
                "timestamp":"2018-01-21 22:33:14",
                "bytes":37892,
            }
            ,
            {
                "record_id":258584399,
                "timestamp":"2018-01-21 22:37:40",
                "bytes":36396,
            }
        ]
    })

data = json.loads(data)
dates = [i['timestamp'] for i in data["data"]]
values = [i['bytes'] for i in data['data']]

df = pd.DataFrame({'dates':dates, 'values':values})
df['dates']  = [pd.to_datetime(i) for i in df['dates']]

print(df.sort_values(by='dates'))

                dates  values
1 2018-01-21 22:33:14   37892
0 2018-01-21 22:34:34   29466
2 2018-01-21 22:37:40   36396

plt.bar(dates, values)

到目前为止,您尝试了什么?请张贴您的代码。我刚刚注意到您需要订购时间戳,它们是否也应该是x轴标签?我认为这是一件装饰性的事情,但如果也能实现,将不胜感激。