The following code fails using commit bc98686 (a few commits upstream of when plot-violin was merged into develop):
>>> FlowCal.plot.violin(data=[[1,2,3],[],[4,5,6]])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\sexto\.conda\envs\py3_anaconda2020.07_fc_JS3xton_bc98686\lib\site-packages\flowcal-1.2.2-py3.8.egg\FlowCal\plot.py", line 1753, in violin
File "<__array_function__ internals>", line 5, in amin
File "C:\Users\sexto\.conda\envs\py3_anaconda2020.07_fc_JS3xton_bc98686\lib\site-packages\numpy\core\fromnumeric.py", line 2792, in amin
return _wrapreduction(a, np.minimum, 'min', axis, None, out,
File "C:\Users\sexto\.conda\envs\py3_anaconda2020.07_fc_JS3xton_bc98686\lib\site-packages\numpy\core\fromnumeric.py", line 90, in _wrapreduction
return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: zero-size array to reduction operation minimum which has no identity
The error comes from using np.min() to calculate defaults limits for the data axis:
data_min = np.inf
data_max = -np.inf
for idx in range(data_length):
violin_data = np.array(data[idx], dtype=np.float).flat
violin_min = np.min(violin_data) # <-- fails here
violin_max = np.max(violin_data)
if violin_min < data_min:
data_min = violin_min
if violin_max > data_max:
data_max = violin_max
data_lim = (data_min, data_max)
np.min() fails when called on an empty array.
The following code fails using commit bc98686 (a few commits upstream of when
plot-violinwas merged intodevelop):The error comes from using
np.min()to calculate defaults limits for the data axis:np.min()fails when called on an empty array.