tushare+画图

找出股价,我们往往可能会需要用到画图工具,今天简要介绍tushare获取到的数据如何画图。

首先,mataplolib是支持Series结构的数据的调用plto()方法,在直接画图之前,我们先创建一个合适大小的画布。

plt.figure(figsize=(20,8))

表示的是,20cm*8cm的画图。然后直接调用方法。

import pandas as pd 
import tushare as ts 
import matplotlib.pyplot as plt 

data=ts.get_hist_data('002413')
plt.figure(figsize=(20,8))
data['open'].plot()
data['close'].plot()
data['ma5'].plot()

tushare+画图_第1张图片

 可以清晰的看到图画的效果,当然还可以对数据进行一些处理和标记。

plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题)
plt.figure(figsize=(20,8))
plt.title('test画图')
plt.xlabel(xlabel='日期',fontsize='large')

对于画图,有很多基本的标记。大家可以去了解官方文档。

接下来我们调用第三方库,画出股价的蜡烛图。

from mpl_finance import candlestick_ohlc

data=ts.get_hist_data('002413') 
data = data.reset_index()
data['date']=data['date'].apply(lambda x:date2num(datetime.datetime.strptime(x,'%Y-%m-%d')))

data=data[["date","open", "close", "high", "low"]].values

data_mat = data

#绘制图片
fig,ax=plt.subplots(figsize=(1200/72,480/72))
fig.subplots_adjust(bottom=0.1)
plt.xticks(rotation=60)
candlestick_ochl(ax,data_mat,colordown='#53c156', colorup='#ff1717',width=0.3,alpha=1)
ax.grid(True)

tushare+画图_第2张图片

 可以看到的是,这个库能够简要的画出股价图,但缺点是不清晰,也不够直观问题。

我们如果只是看均价图,用seaborn画图效果还是不错的。

import tushare as ts
# from matplotlib.pylab import date2num
# import datetime
# import matplotlib.pyplot as plt
# from mpl_finance import candlestick_ohlc
import seaborn as sns


#设置尺寸
plt.rcParams['figure.figsize'] = (18,6)

#设置中文问题
sns.set_style('darkgrid',{'font.sans-serif':['SimHei','Arial']})

#读数据
df=ts.get_hist_data('002413')

#抽取开盘,最高,最低,收盘 这些数据(就是讲dataframe变得小一点)
new_df = df.loc[:, ['open','high','low','close']]

#绘制OHLC
plt.title('茅台股份的OHLC图')
sns.lineplot(data = new_df)#前150行数据
plt.show()

只需要用到tusare 和 seaborn2个库就可以了,效果图如下:

tushare+画图_第3张图片

 以上是比较容易上手调用的画图工具,不需要过多的对数据进行修改,便可以看到结果,适合新手在初期查看一些展示结果。

你可能感兴趣的:(python)