2024-10-05 14:28:37 发布
网友
我正在创建一个歌曲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
可以在plot命令本身中使用以下单线解决方案
plt.pie(beat, explode=(beat == max(beat)) * 0.1)
解释
行(beat == max(beat))将生成一个布尔数组,该数组将在True处具有最大值
(beat == max(beat))
True
array([False, False, False, False, False, True])
然后将其与分解因子(比如0.1)相乘,得到以下数组,可以直接传递给explode参数
explode
array([0. , 0. , 0. , 0. , 0. , 0.1])
np.argmax可以找到最大拍的索引。然后该索引可用于设置explode因子
np.argmax
import numpy as np import matplotlib from matplotlib import pyplot as plt beat = np.array([180, 33, 46, 76, 88, 222]) explode = np.zeros(len(beat)) explode[beat.argmax()] = 0.1 plt.pie(beat, labels=beat, explode=explode) plt.show()
可以在plot命令本身中使用以下单线解决方案
解释
行
(beat == max(beat))
将生成一个布尔数组,该数组将在True
处具有最大值然后将其与分解因子(比如0.1)相乘,得到以下数组,可以直接传递给
explode
参数np.argmax
可以找到最大拍的索引。然后该索引可用于设置explode
因子相关问题 更多 >
编程相关推荐