简体   繁体   中英

How to fill color using mplfinance?

I plotted the candlestick chart for the stock price along with some indicators using the mplfinance package. I bought and sold the stock at different prices for many times. Sometimes I win and somethimes I lose. I want to fill the region where I win with green color and the regin where I lose with red color on the main plot. How can I do it?

For instance, how to fill the region between 2022-04-07 and 2022-04-21 with red and the region between 2022-04-27 and 2022-05-10 with green? 在此处输入图像描述

import mplfinance as mpf

kwargs = dict(
type='candle', 
mav=(5,10,30), 
volume=True, 
title='%s'%(stock_df.iloc[0,0]),    
ylabel='Price', 
ylabel_lower='Volume', 
#figratio=(1200/72,480/60), 
figscale=3,
datetime_format='%Y-%m-%d',
xrotation=0
)

add_plot = [
mpf.make_addplot(rsi.tail(60),panel=2,ylabel='RSI'),
mpf.make_addplot(slowk.tail(60),panel=3,color='darkslateblue',ylabel='KDJ'),
mpf.make_addplot(slowd.tail(60),panel=3,color='limegreen'),
mpf.make_addplot(slowj.tail(60),panel=3,color='orangered')
]

mpf.plot(
        stock_df.tail(60),  # the stock price 
        **kwargs,
        addplot=add_plot,
        style='yahoo'
    )

You can use kwarg fill_between when calling mpf.plot() or when calling mpf.make_addplot() . Both methods accept fill_between .

Do whichever is more convenient. The difference is that, when passing a dict for you fill_between value, mpf.plot() will accept panel as one of the keys in the dict (to place the fill_between on a particular panel), whereas, since mpf.make_addplot() has its own panel kwarg, there is no need to include it in the fill_between dict.

To accomplish what you want, coloring only between particular dates, you must pass, a where value within the fill_between dict. This where value must be a boolean list, equal in length to your dataframe, where True indicates that color should be placed at that point, and False indicates no color.

For specific examples, see the fill_between tutorial in the mplfinance documentation.

Note: kwarg fill_betweenwas recently enhanced with version 0.12.9b0 , adding support for make_addplot and allowing a list of fill_between dicts to be passed. Make sure you have the latest version of mplfinance: pip install --upgrade mplfinance .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM