2

当我尝试使用 matplotlib 绘制“小提琴图”时,出现以下 ValueError。

ValueError:零大小数组到没有标识的归约操作最小值

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

我希望在左侧和右侧绘制两个小提琴图,并在中间绘制一些东西来代表无效项目。

我应该怎么做才能克服这个?

4

1 回答 1

3

您可以检查列表是否为空,如果是,则将其替换为 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()

这不是一个非常优雅的选择,但它有效..

于 2015-11-20T08:53:24.147 回答