request库从url加载数据&pygal库画折线图

2018-09-10  本文已影响0人  微雨旧时歌丶

《Python编程,从入门到实践》第16章

import requests
import pygal
import math

# 执行API调用并存储相应
url = 'https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json'
r = requests.get(url) # 将响应对象存储到变量r中
with open('btc_close_2017.json','w') as f:
    f.write(r.text)
    
file_requests = r.json() # 将响应对象中的信息转化为python标准数据类型,这里是list
dates = []
months = []
weeks = []
weekdays = []
close = []

# 每一天的信息
for dic in file_requests:
    dates.append(dic['date'])
    months.append(int(dic['month']))
    weeks.append(int(dic['week']))
    weekdays.append(dic['weekday'])
    close.append(int(float(dic['close'])))

'''
line_chart = pygal.Line(x_label_rotation=20, show_minor_x_labels=False)
line_chart.title = "收盘价 ($)"
line_chart.x_labels = dates
N = 20 # x轴每隔20天显示一次
line_chart.x_labels_major = dates[::N]
line_chart.add('收盘价',close)
line_chart.render_to_file('收盘价折线图.svg')
'''
line_chart = pygal.Line(x_label_rotation=20, show_minor_x_labels=False)
line_chart.title = "收盘价对数变换 ($)"
line_chart.x_labels = dates
N = 20 # x轴每隔20天显示一次
line_chart.x_labels_major = dates[::N]
close_log = [math.log10(_) for _ in close]
line_chart.add('收盘价',close_log)
line_chart.render_to_file('收盘价对数变换折线图.svg')
上一篇下一篇

猜你喜欢

热点阅读