2

我试图更改填充形状的颜色并在左上角添加图像徽标,在右侧添加价格,但我不希望自己的价格和徽标重叠图表,有没有办法向上移动?

我的代码:

 def chartBuilber(self):
    df: DataFrame = pd.DataFrame.from_dict(self.priceHistory()).fillna(method="backfill")
    df.set_index('Date', inplace=True)
    df = df.astype(float)


    market_colors = mpf.make_marketcolors(
        base_mpf_style="yahoo"
    )
    rc = {
        "axes.labelcolor": "none",
        "axes.spines.bottom": True,
        "axes.spines.left": False,
        "axes.spines.right": False,
        "axes.spines.top": False,
        "font.size": 12,
    }

    styles = mpf.make_mpf_style(
        base_mpf_style="nightclouds",
        marketcolors=market_colors,
        gridstyle="",
        rc=rc
    )

    mpf.plot(df, type='line',
             title='Test',
             linecolor='#00ff00',
             style=styles,
             volume=True,
             figsize=(18, 12),
             figscale=0.5,
             fill_between=df['Close'].values,
             tight_layout=True,
             scale_padding={'left': 0.5, 'top': 5, 'right': 0.7, 'bottom': 1})

在此处输入图像描述

4

1 回答 1

2

要更改填充的颜色,您可以指定fill_betweendict(而不是数字列表)。在 dict 中,您必须y1=为 y 值指定(例如,在您的情况下,y1=df['Close'].values)。facecolor=然后将您想要的填充颜色也添加到字典中。因此,类似:

mpf.plot(df,...,fill_between=dict(y1=df['Close'].values`,facecolor='lime'),...)

为了在图的顶部获得一些额外的空间,您可以使用 kwargylim=指定一个二元素元组或列表 (ymin,ymax),其中 ymax 足够大于您的最大 y 值,从而为您提供所需的空间量。

于 2021-10-21T10:06:27.733 回答