#贴一下把:
import tushare as ts
#from datetime import datetime
import matplotlib.pyplot as plt
# import matplotlib.finance as mpf
import mpl_finance as mpf
from matplotlib.pylab import date2num
import datetime as datetime
import matplotlib.dates as dts
def date_to_num(dates):
num_time = []
for date in dates:
#原处理方式
# date_time = datetime.datetime.strptime(date,'%Y-%m-%d')
#原处理方式
# num_date = date2num(date_time)
num_date = dts.date2num(datetime.datetime.strptime(date, '%Y-%m-%d'))
num_time.append(num_date)
return num_time
df_test0 = ts.get_k_data('000001', index = True, ktype='D', start='2018-07-01', end='2018-07-19')
# dataframe转换为二维数组
mat_df_test0 = df_test0.values
print(mat_df_test0)
mat_df_test0[:,0] = date_to_num(mat_df_test0[:,0])
print(mat_df_test0)
# x轴的刻度为日期
###candlestick_ochl()函数的参数
# ax 绘图Axes的实例
# mat_df_test0 价格历史数据
# width 图像中红绿矩形的宽度,代表天数
# colorup 收盘价格大于开盘价格时的颜色
# colordown 低于开盘价格时矩形的颜色
# alpha 矩形的颜色的透明度
# fig, (ax1, ax2) = plt.subplots(2, sharex=False, figsize=(15,8))
fig, (ax1, ax2) = plt.subplots(2, sharex=True, figsize=(15,8))
mpf.candlestick_ochl(ax1, mat_df_test0, width=0.6, colorup = 'r', colordown = 'g')
ax1.set_title('指数 ')
ax1.set_ylabel('价格')
ax1.grid(True)
ax1.xaxis_date()
plt.bar(mat_df_test0[:,0], mat_df_test0[:,5], width= 0.6)
ax2.set_ylabel('成交量')
ax2.grid(True)
plt.show()