python制作简单K线图

  最近在参加数模比赛,在培训课程中老师要求使用python完成对于K线图制作。参考了网上很多个博客,终于找到适合自己环境的在此记录下。
  我使用的环境如下:
     操作系统:windows10
     编译器:pycharm2019.2
     python环境:anaconda2020.07
  题目分析:本题中制作K线图的数据老师已经提供,以.csv的形式给出。python制作K线图有专门的库,我们练习的主要目的是可视化呈现。数据的获取不是关键。对于K线图数据获取可使用tushare库函数实现,因为我不需要这步,在此不再陈述(其实是我不会~)

  制作K线图代码如下:

import datetime
import csv
import matplotlib.pyplot as plt
import mpl_finance as mpf
import matplotlib.dates as mpd
import numpy as np

str2date = lambda x: mpd.date2num(datetime.datetime.strptime(x, '%Y-%m-%d').date())
#使用numpy库中loadtxt函数从文件中获取数据
data_list = np.loadtxt("000004.csv", str, delimiter=",", skiprows=1)  # delimiter代表分隔符,skiprows=1代表跳过第一行

columns = data_list[0]
#对于data_list[1:53]由于老师限定了时间范围,也使用部分数据制作。此处可自由调整
quotes = [[str2date(d[0])] + [float(v) for v in d[1:-1]] for d in data_list[1:53]]
fig, ax = plt.subplots(figsize=(6, 4), facecolor=(0.5, 0.5, 0.5))  # fig画布 ax对象子图
fig.subplots_adjust(bottom=0.2)
mpf.candlestick_ohlc(ax, quotes, width=0.4, colorup='r', colordown='g')  # k线图函数
plt.grid(False)
ax.xaxis_date()
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(), rotation=30)
plt.title("Candlestick chart")
plt.xlabel("Date")
plt.ylabel("Price")
plt.show()

  最终效果图如下:
在这里插入图片描述
感谢网上各位大神博客作为参考,因为看了太多,无法一一列举,请谅解!如有不足之处,请下方评论区指出,谢谢!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值