我想绘制一个带有其他指标的烛台图,其中一个指标可以是 all nan
。我为此使用名为mplfinance的 python matplotlib 实用程序。Mplfinance 将一个参数作为构建烛台的主要数据,第二个参数是具有附加指标值的数组。当我尝试实现自定义指标时,我首先将填充的空列添加nan
到带有指标的数组中,然后将其填充到带有条件的循环中。整个列可能会nan
在循环之后全部保留,因此我收到错误并且无法绘制图表。
df = pd.DataFrame.from_dict(pd.json_normalize(newBars), orient='columns')
idf = df.copy()
idf = idf.iloc[:,[0]]
idf.columns = ['col0']
idf.assign(col1=float('nan')) # Now we add column #1
for i in range(len(idf)-1):
if a > b: # Some condition I use to calculate Col1
idf.iat[i, 1] = float_value
indicators = [
mpf.make_addplot(idf['Col0'],color='grey',width=1,panel=0),
mpf.make_addplot(idf['Col1'],color='g',type='scatter',markersize=50,marker='^',panel=0),
]
mpf.plot(df, type='candle', style='yahoo', volume=True, addplot=indicators,
figscale=1.1,figratio=(8,5), panel_ratios=(2,1))
从代码中,Col1 可能是全部nan
,在这种情况下,我收到以下错误:
ValueError: zero-size array to reduction operation maximum which has no identity
nan
即使数组中存在这样的列,如何避免此错误并仅绘制没有列的图形?