大家好,我是欧K。
本期主要利用pyecharts给大家展示比特币近几年股价变迁,主要用到timeline函数,希望对你有所帮助。
先看看效果:
1. 导入模块
import datetime import pandas as pd from pyecharts import options as opts from pyecharts.charts import Line,Timeline from pyecharts.commons.utils import JsCode
升级 pyecharts 包:可视化部分需要用到 pyecharts==1.9.0,已安装其他低版本的需要升级,如果未安装过pyecharts,直接pip安装就是最新版本。
2. Pandas数据处理
2.1 读取数据
df = pd.read_csv('btc.csv') df
结果:
2.2 截取序列时间数据
数据时间可以根据需要自行调整(以2019-09-01为例):
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d') df = df[(df['date'] >=pd.to_datetime('20190901'))]
结果:
3. Pyecharts动态图绘制
3.1 设置横坐标中坐标数据样式
Line.add_xaxis(list(df['date'])[0:i]) Line.add_yaxis( series_name="", y_axis=list(df['closep'])[0:i], is_smooth=True,is_symbol_show=False, linestyle_opts={ 'normal': { 'width': 3, 'shadowColor': 'rgba(0, 0, 0, 0.5)', 'shadowBlur': 5, 'shadowOffsetY': 10, 'shadowOffsetX': 10, 'curve': 0.5, 'color': JsCode(color_js0) } }, itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_js0)), markpoint_opts=opts.MarkPointOpts( data=[ opts.MarkPointItem( name="high_price", value=f'{coordy_high}$',coord=[coordx,coordy_high],symbol=symbol, symbol_size=30, itemstyle_opts=opts.ItemStyleOpts(color='#FF8C00',border_color="#FFD700") ) ], label_opts=opts.LabelOpts(font_size=18,color="#EB1934",font_weight="bold",position="right") ), )
这里主要注意线型(linestyle)和标记(markpoint)的设置。
3.2 设置全局样式
Line.set_global_opts( title_opts=opts.TitleOpts( title=f"btc每日收盘价({title_date})", pos_top="10%", pos_left="center", title_textstyle_opts=opts.TextStyleOpts(color="#0000FF", font_family='STKaiti', font_size=20), ), xaxis_opts=opts.AxisOpts( type_="time", max_=x_max, boundary_gap=False, axislabel_opts=opts.LabelOpts(color="#EB1934"), axisline_opts=opts.AxisLineOpts( is_show=True, linestyle_opts=opts.LineStyleOpts(width=2, color="#EB1934") ), axistick_opts=opts.AxisTickOpts( is_show=True, linestyle_opts=opts.LineStyleOpts(color="#EB1934"), ), ), yaxis_opts=opts.AxisOpts( type_="value", max_=y_max, position="left", axislabel_opts=opts.LabelOpts(color="#EB1934"), axisline_opts=opts.AxisLineOpts( is_show=True, linestyle_opts=opts.LineStyleOpts(width=2, color="#EB1934") ), axistick_opts=opts.AxisTickOpts( is_show=True, linestyle_opts=opts.LineStyleOpts(color="#EB1934"), ), splitline_opts=opts.SplitLineOpts( is_show=False, linestyle_opts=opts.LineStyleOpts(color="#EB1934") ), ), )
效果:
3.3 添加背景图片
graphic_opts=[ opts.GraphicImage( graphic_item=opts.GraphicItem( id_="logo", z=-10, bounding="raw", origin=[50, 100] ), graphic_imagestyle_opts=opts.GraphicImageStyleOpts( image="coin.jpg", width=900, height=600, opacity=0.2, ), ) ],
效果:
完。
END以上就是本期为大家整理的全部内容了,如果需要数据文件,可以在公众号后台回复 “ btc ”获取,喜欢的朋友可以点赞、点在看也可以分享让更多人知道