1.导入数据分析库
import mpl_finance
import tushare as ts
import pandas as pd
import seaborn as sns
import matplotlib. pyplot as plt
from matplotlib import ticker
from matplotlib. pylab import date2num
import numpy as np
2.绘制K线图
fig, ax = plt. subplots( figsize= ( 10 , 5 ) )
mpl_finance. candlestick_ochl(
ax= ax,
quotes= df[ [ 'trade_date' , 'open' , 'close' , 'high' , 'low' ] ] . values,
width= 0.7 ,
colorup= 'r' ,
colordown= 'g' ,
alpha= 0.7 )
ax. xaxis_date( )
plt. xticks( rotation= 30 ) ;
3.解决空白问题
def format_date ( x, pos) :
if x< 0 or x> len ( date_tickers) - 1 :
return ''
return date_tickers[ int ( x) ]
date_tickers = df. trade_date2. values
fig, ax = plt. subplots( figsize= ( 10 , 5 ) )
ax. xaxis. set_major_formatter( ticker. FuncFormatter( format_date) )
mpl_finance. candlestick_ochl(
ax= ax,
quotes= df[ [ 'dates' , 'open' , 'close' , 'high' , 'low' ] ] . values,
width= 0.7 ,
colorup= 'r' ,
colordown= 'g' ,
alpha= 0.7 )
ax. set_title( '上证综指K线图(2018.9-)' , fontsize= 20 ) ;