自定义 mplfinance 图 python
Customize mplfinance plot python
我想更改填充形状的颜色并在左上角添加图像徽标,在右上角添加价格,但我不希望价格和徽标在图表上重叠,有没有办法将其向上移动?
我的代码:
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})
要更改填充颜色,您可以将 fill_between
指定为 dict
(而不是数字列表)。在字典中,您必须为 y 值指定 y1=
(例如,在您的情况下,y1=df['Close'].values
)。然后还向字典 facecolor=
添加您想要的填充颜色。因此,类似于:
mpf.plot(df,...,fill_between=dict(y1=df['Close'].values`,facecolor='lime'),...)
为了在图的顶部获得一些额外的空间,您可以使用 kwarg ylim=
指定一个双元素元组或列表 (ymin,ymax),其中 ymax 足够大于您的最大 y 值给你 space 你想要的数量。
我想更改填充形状的颜色并在左上角添加图像徽标,在右上角添加价格,但我不希望价格和徽标在图表上重叠,有没有办法将其向上移动?
我的代码:
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})
要更改填充颜色,您可以将 fill_between
指定为 dict
(而不是数字列表)。在字典中,您必须为 y 值指定 y1=
(例如,在您的情况下,y1=df['Close'].values
)。然后还向字典 facecolor=
添加您想要的填充颜色。因此,类似于:
mpf.plot(df,...,fill_between=dict(y1=df['Close'].values`,facecolor='lime'),...)
为了在图的顶部获得一些额外的空间,您可以使用 kwarg ylim=
指定一个双元素元组或列表 (ymin,ymax),其中 ymax 足够大于您的最大 y 值给你 space 你想要的数量。