关键词

Python绘制K线图之可视化神器pyecharts的使用

让我来详细讲解一下“Python绘制K线图之可视化神器pyecharts的使用”的完整攻略。

什么是K线图

K线图,是一种用在股票分析上的技术图表。K线图以矩形来显示某一段时间内股票的开盘价、收盘价、最高价和最低价,并且可以在矩形上用红色、绿色来表示这个时间段的股票价格上涨或者下跌。

pyecharts的安装

要想使用pyecharts,你需要先安装它。你可以通过使用pip进行安装,命令如下所示:

pip install pyecharts

绘制K线图

将K线图用pyecharts绘制需要进行如下几个步骤。

导入需要的模块

首先,在python中导入需要的模块,其中,这里我们除了导入pyecharts之外,还需要导入numpy和pandas,代码如下所示:

import numpy as np
import pandas as pd
from pyecharts.charts import Kline
from pyecharts import options as opts

准备数据

接下来,我们需要准备好股票数据。

data = pd.read_csv("stock_data.csv")
data.head()

绘制K线图

接下来就可以绘制K线图了。在使用pyecharts绘制K线图时,我们需要先创建一个Kline实例,然后使用add_xaxis和add_yaxis方法来设置x轴和y轴的数据,再使用set_global_opts方法来设置标题、横轴、纵轴等属性。代码如下所示:

kline = Kline(init_opts=opts.InitOpts(width="1200px", height="600px"))
kline.add_xaxis(data["date"].tolist())
kline.add_yaxis("", data[["open", "close", "low", "high"]].values.tolist())
kline.set_global_opts(xaxis_opts=opts.AxisOpts(is_scale=True),
                     yaxis_opts=opts.AxisOpts(is_scale=True),
                     title_opts=opts.TitleOpts(title="K线图"),
                     datazoom_opts=[opts.DataZoomOpts(range_start=70, range_end=100)],
                     )
kline.render("stock_kline.html")

以上就是绘制K线图的完整攻略。

示例说明

下面给出两个使用pyecharts绘制K线图的示例,让大家更加清楚地了解pyecharts的使用。

示例1:数据来源为tushare库

import tushare as ts

# 获取股票数据
data = ts.get_k_data('000001', start='2020-01-01', end='2020-01-31')

# 绘制K线图
kline = Kline(init_opts=opts.InitOpts(width="1200px", height="600px"))
kline.add_xaxis(data["date"].tolist())
kline.add_yaxis("", data[["open", "close", "low", "high"]].values.tolist())
kline.set_global_opts(xaxis_opts=opts.AxisOpts(is_scale=True),
                     yaxis_opts=opts.AxisOpts(is_scale=True),
                     title_opts=opts.TitleOpts(title="K线图"),
                     datazoom_opts=[opts.DataZoomOpts(range_start=70, range_end=100)],
                     )
kline.render("stock_kline.html")

示例2:使用随机数据

# 生成随机数据
np.random.seed(100)
data = np.random.randn(200, 4)
data[:, 0] = np.arange(200)

# 绘制K线图
kline = Kline(init_opts=opts.InitOpts(width="1200px", height="600px"))
kline.add_xaxis(data[:, 0].tolist())
kline.add_yaxis("", data[:, 1:].tolist())
kline.set_global_opts(xaxis_opts=opts.AxisOpts(is_scale=True),
                     yaxis_opts=opts.AxisOpts(is_scale=True),
                     title_opts=opts.TitleOpts(title="K线图"),
                     datazoom_opts=[opts.DataZoomOpts(range_start=70, range_end=100)],
                     )
kline.render("stock_kline.html")

本文链接:http://task.lmcjl.com/news/13461.html

展开阅读全文