matplotlib - 带有空列表的 violinplot ValueError
matplotlib - violinplot ValueError with empty lists
当我尝试使用 matplotlib 绘制 "violin plot" 时出现以下 ValueError。
ValueError: zero-size array to reduction operation minimum which has no identity
axes[0].violinplot([[1,2,3],[],[2,3,4]])
我希望在左右两边画两个小提琴图,中间画一些东西来表示无效的项目。
我应该怎么做才能克服这个问题?
您可以检查列表是否为空,如果是,则用 NaN 列表替换它:
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()
这不是一个非常优雅的选择,但它确实有效..
当我尝试使用 matplotlib 绘制 "violin plot" 时出现以下 ValueError。
ValueError: zero-size array to reduction operation minimum which has no identity
axes[0].violinplot([[1,2,3],[],[2,3,4]])
我希望在左右两边画两个小提琴图,中间画一些东西来表示无效的项目。
我应该怎么做才能克服这个问题?
您可以检查列表是否为空,如果是,则用 NaN 列表替换它:
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()
这不是一个非常优雅的选择,但它确实有效..