概述

在本博客中,我们将探讨如何从网站获取 JSON 数据,并使用 Python 创建可视化图表。JSON(JavaScript Object Notation)是一种常用的数据交换格式,而Python则是一种功能强大的编程语言,适用于数据处理和可视化。

步骤

我们需要找一个网站,获取JSON数据,这里我们采用白俄罗斯国家银行提供的JSON数据。具体操作可以从API (nbrb.by) 获取详情。

此网站非中文,需要具备俄语阅读能力,或使用翻译软件进行

读取数据

转换

首先,我们要把获取的内容,变成Python 字典

import os
import requests

#json_list = requests.get('https://api.nbrb.by/exrates/currencies').json()
json_currency = requests.get('https://api.nbrb.by/exrates/rates/dynamics/431?startdate=2024-5-3&enddate=2024-6-3').json()

让我们分析url

https://api.nbrb.by/exrates/rates/dynamics/431?startdate=2024-5-3&enddate=2024-6-3

其中,431指代货币代号——美元,startdate与enddate差值不能超过365天。get写法不会的请自学web开发

拆分

然后我们需要两组数据——时间和汇率

list_cur = [{"Date":i['Date'],"Cur_OfficialRate":i["Cur_OfficialRate"]} for i in json_currency]
list_date = [i['Date'] for i in list_cur]
list_money = [i['Cur_OfficialRate'] for i in list_cur]

数据图表化

使用matplotlib.pyplot

我们可以使用matplotlib.pyplot来显示一张图片

import matplotlib.pyplot as plt
plt.figure(figsize=(20,20))
plt.plot(list_date,list_money,label='money',color='red')
plt.xlabel('日期')
plt.ylabel('汇率')
plt.title('汇率表')
plt.legend()
plt.show()

然后会弹出一张图片,可以进行保存

使用pygal

我们可以使用pygal生成可以能显示鼠标所指示的数据,需要先保存在磁盘里,然后鼠标单击这个文件,在浏览器打开,这个文件名后缀应是svg

import pygal
pygal_chart = pygal.Line()
pygal_chart.title = '白俄罗斯卢布美元汇率表'
pygal_chart.x_labels = list_date
pygal_chart.add('汇率',list_money) 
pygal_chart.render_to_file('pygal_chart.svg')

相对matplotlib.pyplot,这个不光光是一张图片,更容易阅读

最后修改:2024 年 06 月 03 日
如果觉得我的文章对你有用,请随意赞赏