Python mpl_finance.candlestick2_ohlc在给定子批次时返回空白图形?

Python mpl_finance.candlestick2_ohlc在给定子批次时返回空白图形?,python,matplotlib,quantitative-finance,Python,Matplotlib,Quantitative Finance,下面是给我带来困难的代码。我正在尝试将一个折线图绘制为顶行,并在下面动态创建若干子图,其中至少有一个是烛台图 当我自己绘制烛台K2_ohlc图时,没有为它创建子图,也没有绘制任何其他子图,它工作得非常完美。然而,当我尝试使用子图并包含其他图形时,结果是所有图形都绘制得非常完美,除了烛台完全缺失。我不知道是什么导致了这种行为,但是我知道在同一个图上没有其他图形覆盖它。任何帮助都将不胜感激。谢谢 def plot(self): def mydate(x, pos): '''f

下面是给我带来困难的代码。我正在尝试将一个折线图绘制为顶行,并在下面动态创建若干子图,其中至少有一个是烛台图

当我自己绘制烛台K2_ohlc图时,没有为它创建子图,也没有绘制任何其他子图,它工作得非常完美。然而,当我尝试使用子图并包含其他图形时,结果是所有图形都绘制得非常完美,除了烛台完全缺失。我不知道是什么导致了这种行为,但是我知道在同一个图上没有其他图形覆盖它。任何帮助都将不胜感激。谢谢

def plot(self):
    def mydate(x, pos):
        '''function for labeling xticks as datetime objects'''
        try:
            return self.broker.data.index[int(x)]
        except IndexError:
            return ''

    totalPlots = 1
    plotNum = 1
    for indicator in self.indicators:
        if not indicator.plotWithData:
            totalPlots += 1
    for data in self.broker.data:
        totalPlots += 1

    fig, ax = plt.subplots()


    ax.xaxis.set_major_locator(tickerGraph.MaxNLocator(10))  # number of xtick labels
    ax.xaxis.set_major_formatter(tickerGraph.FuncFormatter(mydate))  # use nested method to label xticks
    plt.subplot(int(str(str(totalPlots) + '1' + str(plotNum))))  # top plot is always account value
    plt.title('Account Value')

    plt.plot(list(self.broker.data.values())[0].df.index, self.broker.valueData)

    for ticker in self.broker.data.keys():
        plotNum += 1
        plt.subplot(int(str(str(totalPlots) + '1' + str(plotNum))))
        plt.title(ticker)
        candlestick2_ohlc(ax=ax, opens=self.broker.data[ticker].df['open'], highs=self.broker.data[ticker].df['high'],
                          lows=self.broker.data[ticker].df['low'], closes=self.broker.data[ticker].df['close'],
                          width=.6, colorup='g', colordown='r')

        for trade in self.plotTrades[ticker]:
            plt.scatter(list(self.broker.data.values())[0].df.index[trade.index], self.broker.data[ticker].df.iloc[trade.index]['close'], c=trade.color) ##IMPROVE

        for indicator in self.indicators:
            if indicator.plotWithData:
                plt.plot(indicator.ydata[ticker])

    for indicator in self.indicators:
        if not indicator.plotWithData:
            plotNum += 1[enter image description here][1]
            plt.subplot(int(str(str(totalPlots) + '1' + str(plotNum))))
            plt.plot(indicator.ydata[ticker])
            plt.title(indicator.name + ' ' + ticker)

    plt.show()
下面是奇怪的空白图表:


它可能就在所有其他绘图的后面?我建议只使用
fig,arrayofax=plt.subplot(totalPlots+1,1)
plt.figure()
,然后使用单个
plt.subplot(…)
。(顺便说一句,
plt.subplot(totalPlots,1,n)
比您执行的字符串转换可读性好得多。)也请阅读。您所说的隐藏是什么意思?我尝试了同样的东西,但没有分散,它仍然是空白的。谢谢你的推荐,我完全忘记了子地块的逗号语法。我还将尝试指定子情节。我想我只能用a来进一步帮助。它可能只是在所有其他情节后面?我建议只使用
fig,arrayofax=plt.subplot(totalPlots+1,1)
plt.figure()
,然后使用单个
plt.subplot(…)
。(顺便说一句,
plt.subplot(totalPlots,1,n)
比您执行的字符串转换可读性好得多。)也请阅读。您所说的隐藏是什么意思?我尝试了同样的东西,但没有分散,它仍然是空白的。谢谢你的推荐,我完全忘记了子地块的逗号语法。我还将尝试指定子地块。我想我只能通过一个。