首页 > 解决方案 > MatPlotLib 爆炸最大数组值

问题描述

我正在创建一组歌曲 BPM(每分钟节拍数),并且希望爆炸最大的 bpm,无论它位于数组中的哪个位置。我正在使用 python 和 matplotlib,有人知道如何设置吗?

下面的示例代码

import numpy as np
import matplotlib 
from matplotlib import pyplot as plt

beat = np.array([180,33,46,76,88,222])

plt.pie(beat, explode=explode)
plt.show

标签: pythonarraysmatplotlibexplode

解决方案


您可以在绘图命令本身中使用以下一种线性解决方案

plt.pie(beat, explode=(beat == max(beat)) * 0.1)

解释

该行将(beat == max(beat))产生一个布尔数组,这将是True数组的最大值

array([False, False, False, False, False, True])

然后将它与一个爆炸因子(比如 0.1)相乘,这将给出以下数组,您可以将其直接传递给explode参数

array([0. , 0. , 0. , 0. , 0. , 0.1])

推荐阅读