Python绘图-Pygal-pygal_draw2.py

Python绘图-Pygal-pygal_draw2.py

准备文件btc_close_2017.json在程序目录下,该文件可从https://www.ituring.com.cn/book/1861右侧随书下载栏下载

# ~ coding=GBK

import json
import pygal
import math

filename = 'btc_close_2017.json'
with open(filename,'r') as f:
	data = json.load(f)#data为存储了每天收盘数据的字典

dates,months,weeks,weekdays,closes = [],[],[],[],[]
for btc_dict in data:
	date = btc_dict['date']
	dates.append(date)
	month = int(btc_dict['month'])
	months.append(month)
	week = int(btc_dict['week'])
	weeks.append(week)
	weekday = btc_dict['weekday']
	weekdays.append(weekday)
	close = int(float(btc_dict['close']))
	closes.append(close)
	
	print("{} is month {} week {}, {}, the close price is {} RMB"
			.format(date,month,week,weekday,close))

# ~ 绘制折线图
line_chart = pygal.Line(x_label_rotation=20,show_minor_x_labels=False)
# ~ 设置图标标题
line_chart.title = 'Close price (RMB)'
# ~ 设置x轴标签
line_chart.x_title = 'Date (yyyy-mm-dd)'
line_chart.x_labels = dates
N = 30
line_chart.x_labels_major = dates[::N]#从头到尾间隔N
# ~ 设置数值系列
line_chart.add('Close price',closes,dots_size=2)
close_logs = [math.log10(_) for _ in closes]
line_chart.add('Close price - log10',close_logs,secondary=True,dots_size=2)
line_chart.render_to_file('close_price.svg')#渲染为svg文件

程序运行结果如下:
Pygal画折线图-双坐标显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值