如何通过matplotlib.finance绘制“K”图以获得如下特殊的格式数据?

时间:2016-09-20 07:35:17

标签: python matplotlib

代码如下:

import tushare as ts
import matplotlib.pyplot as plt
from matplotlib.finance import candlestick_ohlc as candle
stock=ts.get_hist_data('000581',ktype='w')

“股票”的数据形式如下图: enter image description here

然后是以下代码:

vals=stock.iloc[:,0:4]
fig=plt.figure()
ax=fig.add_subplot(111)
candle(ax,vals)

我收到如下错误: Traceback(最近一次调用最后一次):   文件“”,第1行,in   文件“/usr/local/anaconda3/lib/python3.5/site-packages/matplotlib/finance.py”,第735行,在candlestick_ohlc中     alpha = alpha,ochl = False)   _candlestick中的文件“/usr/local/anaconda3/lib/python3.5/site-packages/matplotlib/finance.py”,第783行 t,开,高,低,关= q [:5] ValueError:没有足够的值来解包(预期5,得到4)

我该如何重新获得它?

1 个答案:

答案 0 :(得分:0)

candlestick需要非常具体的格式才能使用。例如,如果您使用_ohlc,则订单必须为open-high-low-close。烛台图的数组可以按如下方式准备:

candleArray = []
while i < len(datep):
    newLine = datep[i], openp[i], highp[i], lowp[i], closep[i], volumep[i], pricechange[i], pchange[i]
    candleArray.append(newLine)
    i += 1

然后,您可以使用数组candleArray调用烛台。