python制作简单K线图
生活随笔
收集整理的這篇文章主要介紹了
python制作简单K线图
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??最近在參加數(shù)模比賽,在培訓(xùn)課程中老師要求使用python完成對(duì)于K線圖制作。參考了網(wǎng)上很多個(gè)博客,終于找到適合自己環(huán)境的在此記錄下。
??我使用的環(huán)境如下:
?????操作系統(tǒng):windows10
?????編譯器:pycharm2019.2
?????python環(huán)境:anaconda2020.07
??題目分析:本題中制作K線圖的數(shù)據(jù)老師已經(jīng)提供,以.csv的形式給出。python制作K線圖有專門(mén)的庫(kù),我們練習(xí)的主要目的是可視化呈現(xiàn)。數(shù)據(jù)的獲取不是關(guān)鍵。對(duì)于K線圖數(shù)據(jù)獲取可使用tushare庫(kù)函數(shù)實(shí)現(xiàn),因?yàn)槲也恍枰@步,在此不再陳述(其實(shí)是我不會(huì)~)
??制作K線圖代碼如下:
import datetime import csv import matplotlib.pyplot as plt import mpl_finance as mpf import matplotlib.dates as mpd import numpy as npstr2date = lambda x: mpd.date2num(datetime.datetime.strptime(x, '%Y-%m-%d').date()) #使用numpy庫(kù)中l(wèi)oadtxt函數(shù)從文件中獲取數(shù)據(jù) data_list = np.loadtxt("000004.csv", str, delimiter=",", skiprows=1) # delimiter代表分隔符,skiprows=1代表跳過(guò)第一行columns = data_list[0] #對(duì)于data_list[1:53]由于老師限定了時(shí)間范圍,也使用部分?jǐn)?shù)據(jù)制作。此處可自由調(diào)整 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畫(huà)布 ax對(duì)象子圖 fig.subplots_adjust(bottom=0.2) mpf.candlestick_ohlc(ax, quotes, width=0.4, colorup='r', colordown='g') # k線圖函數(shù) 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()??最終效果圖如下:
感謝網(wǎng)上各位大神博客作為參考,因?yàn)榭戳颂?#xff0c;無(wú)法一一列舉,請(qǐng)諒解!如有不足之處,請(qǐng)下方評(píng)論區(qū)指出,謝謝!
總結(jié)
以上是生活随笔為你收集整理的python制作简单K线图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java中如何组装字符串
- 下一篇: 操作系统实践(七)