|
39 | 39 | from mplfinance._arg_validators import _alines_validator, _tlines_validator
|
40 | 40 | from mplfinance._arg_validators import _scale_padding_validator, _yscale_validator
|
41 | 41 | from mplfinance._arg_validators import _valid_panel_id, _check_for_external_axes
|
42 |
| -from mplfinance._arg_validators import _xlim_validator, _mco_validator |
| 42 | +from mplfinance._arg_validators import _xlim_validator, _mco_validator, _is_marketcolor_object |
43 | 43 |
|
44 | 44 | from mplfinance._panels import _build_panels
|
45 | 45 | from mplfinance._panels import _set_ticks_on_bottom_panel_only
|
@@ -865,7 +865,15 @@ def _addplot_collections(panid,panels,apdict,xdates,config):
|
865 | 865 | if not isinstance(apdata,pd.DataFrame):
|
866 | 866 | raise TypeError('addplot type "'+aptype+'" MUST be accompanied by addplot data of type `pd.DataFrame`')
|
867 | 867 | d,o,h,l,c,v = _check_and_prepare_data(apdata,config)
|
868 |
| - collections = _construct_mpf_collections(aptype,d,xdates,o,h,l,c,v,config,config['style']) |
| 868 | + |
| 869 | + mc = apdict['marketcolors'] |
| 870 | + if _is_marketcolor_object(mc): |
| 871 | + apstyle = config['style'].copy() |
| 872 | + apstyle['marketcolors'] = mc |
| 873 | + else: |
| 874 | + apstyle = config['style'] |
| 875 | + |
| 876 | + collections = _construct_mpf_collections(aptype,d,xdates,o,h,l,c,v,config,apstyle) |
869 | 877 |
|
870 | 878 | if not external_axes_mode:
|
871 | 879 | lo = math.log(max(math.fabs(np.nanmin(l)),1e-7),10) - 0.5
|
@@ -1104,7 +1112,10 @@ def _valid_addplot_kwargs():
|
1104 | 1112 | 'Validator' : lambda value: _yscale_validator(value) },
|
1105 | 1113 |
|
1106 | 1114 | 'stepwhere' : { 'Default' : 'pre',
|
1107 |
| - 'Validator' : lambda value : value in valid_stepwheres }, |
| 1115 | + 'Validator' : lambda value : value in valid_stepwheres }, |
| 1116 | + |
| 1117 | + 'marketcolors' : { 'Default' : None, # use 'style' for default, instead. |
| 1118 | + 'Validator' : lambda value: _is_marketcolor_object(value) }, |
1108 | 1119 | }
|
1109 | 1120 |
|
1110 | 1121 | _validate_vkwargs_dict(vkwargs)
|
|
0 commit comments