共计 1651 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章将为大家详细讲解有关如何使用 matplotlib 绘制 K 线图,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
获得苹果的股票数据(2016/1/4-2017/4/20)如下表:
DateOpenHighLowClose2016/1/4102.610001105.370003102105.3499982016/1/5105.75105.849998102.410004102.7099992016/1/6100.559998102.37000399.870003100.6999972016/1/798.68100.12999796.4396.4499972016/1/898.55000399.11000196.76000296.959999
绘制代码:
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator,DayLocator, MONDAY
import pandas as pd
import matplotlib.dates as mdates
from matplotlib.finance import candlestick_ohlc#1. 数据预处理 #读取数据 data=pd.read_csv(C:/Users/Administrator/Desktop/APPL/APPL.csv)# 将时间数据转换为 pandas 的时间格式 data[Date]=pd.to_datetime(data[ Date])# 将时间数据转换为 matplotlib 的时间格式 data[Date] = data[Date].apply(lambda d: mdates.date2num(d.to_pydatetime()))# 将数据框转换为元组 tuples = [tuple(x) for x in data[[Date , Open , High , Low , Close]].values]#2. 图像设置 #获得 fig 和 ax 对象 fig, ax = plt.subplots()#调节横坐标距离底部的长度 fig.subplots_adjust(bottom=0.2)# 设置横坐标标签的显示时间间隔 (显示每周的周一)mondays = WeekdayLocator(MONDAY)
ax.xaxis.set_major_locator(mondays)# 设置横坐标刻度的显示间隔 (每个刻度代表一天)alldays = DayLocator()
ax.xaxis.set_minor_locator(alldays)# 设置横坐标标签的显示样式,为“月、日”,Jan 12weekFormatter = DateFormatter(%b %d)
ax.xaxis.set_major_formatter(weekFormatter)# 显示每个刻度的标签 #dayFormatter = DateFormatter(%d)# ax.xaxis.set_minor_formatter(dayFormatter)#3. 绘图 #烛台图绘制 candlestick_ohlc(ax, tuples, width=0.6,colorup= r ,colordown= g)# 调整图像设置横坐标标签的显示样式,获得当前坐标轴 plt.gca、获得 x 轴刻度标签 get_xticklabels、转换角度 rotation、旋转角度 hori...entplt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment= right)
plt.show()
结果图:
关于“如何使用 matplotlib 绘制 K 线图”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
正文完