帮我用python实现五力模型的雷达图生成工具
时间: 2024-05-02 18:18:08 浏览: 85
python实现雷达图——亲测可用
3星 · 编辑精心推荐
好的,下面是一个简单的Python代码,可以生成五力模型的雷达图。
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义五力模型的五个方面
factors = ['竞争对手', '供应商', '客户', '替代品', '新进入者']
# 定义每个方面的得分(0-10分)
competitors = [9, 4, 7, 3, 5]
suppliers = [5, 8, 3, 6, 7]
customers = [6, 7, 9, 2, 4]
substitutes = [3, 6, 4, 9, 8]
new_entrants = [8, 3, 5, 7, 6]
# 定义每个方面的角度
angles = np.linspace(0, 2 * np.pi, len(factors), endpoint=False)
# 将角度闭合起来
competitors = np.concatenate((competitors, [competitors[0]]))
suppliers = np.concatenate((suppliers, [suppliers[0]]))
customers = np.concatenate((customers, [customers[0]]))
substitutes = np.concatenate((substitutes, [substitutes[0]]))
new_entrants = np.concatenate((new_entrants, [new_entrants[0]]))
angles = np.concatenate((angles, [angles[0]]))
# 绘制雷达图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, competitors, 'o-', linewidth=2, label='竞争对手')
ax.fill(angles, competitors, alpha=0.25)
ax.plot(angles, suppliers, 'o-', linewidth=2, label='供应商')
ax.fill(angles, suppliers, alpha=0.25)
ax.plot(angles, customers, 'o-', linewidth=2, label='客户')
ax.fill(angles, customers, alpha=0.25)
ax.plot(angles, substitutes, 'o-', linewidth=2, label='替代品')
ax.fill(angles, substitutes, alpha=0.25)
ax.plot(angles, new_entrants, 'o-', linewidth=2, label='新进入者')
ax.fill(angles, new_entrants, alpha=0.25)
ax.set_thetagrids(angles * 180 / np.pi, factors)
ax.grid(True)
plt.legend(loc='best')
plt.title('五力模型分析')
plt.show()
```
这段代码使用了Matplotlib库来生成雷达图。你可以将五力模型中的各个方面的得分替换成你自己的数据,然后运行代码,就可以生成相应的雷达图啦。
阅读全文