python - 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
解决方案
您可以在绘图命令本身中使用以下一种线性解决方案
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])
推荐阅读
- python - 我如何知道电子邮件的“发件人”?(使用 IMAP)
- ember.js - 验证 hasMany 与另一个 hasMany 的关系
- html - 选中单选按钮时如何播放动画?
- elasticsearch - 像 Netflix 一样的 Elasticsearch 分析器
- nginx - 如何在 nginx 中重写 IIS web.config 重写规则
- soap - 从 CF10 迁移到 CF2016 后如何使 SOAP 类型不强制小写?
- typescript - 如何生产和使用 Typescript 编写的多模块 NPM 包
- java - java数字模式打印问题
- javascript - jQuery 覆盖事件 preventDefault
- c# - 实体框架中的连接表不能隐式转换类型错误