2015-11-20 2 views
0

Я получаю следующее ValueError, когда пытаюсь построить «скрипку» с matplotlib.matplotlib - violinplot ValueError с пустыми списками

ValueError: zero-size array to reduction operation minimum which has no identity

axes[0].violinplot([[1,2,3],[],[2,3,4]]) 

Я надеюсь, что две скрипичные участки должны быть нанесены на левой и правой сторон, и что-то быть построены в середине, чтобы представлять неверные элементы.

Что мне делать, чтобы преодолеть это?

ответ

0

вы можете проверить, если список пуст, и если это так заменить его списком NaNs:

from matplotlib import pyplot as plt 

vals = [[1, 2, 3], [], [2, 3, 4]] 
nans = [float('nan'), float('nan')] # requires at least 2 nans 

plt.violinplot([val or nans for val in vals]) 
plt.show() 

Это не очень элегантный вариант, но он работает ..

+0

Это просто и работает для меня. Спасибо! – Han

Смежные вопросы