TOPSIS结果可视化代码
时间: 2023-09-23 16:02:28 浏览: 111
以下是一个简单的 Python 代码示例,用于将 TOPSIS 分析的结果可视化:
```python
import numpy as np
import matplotlib.pyplot as plt
# 假设有 5 个决策方案和 4 个评价标准
data = np.array([
[0.2, 0.3, 0.4, 0.5],
[0.3, 0.4, 0.5, 0.6],
[0.4, 0.5, 0.6, 0.7],
[0.5, 0.6, 0.7, 0.8],
[0.6, 0.7, 0.8, 0.9]
])
# 标准化数据
normalized_data = data / np.sqrt(np.sum(data**2, axis=0))
# 求出正理想解和负理想解
ideal_best = np.max(normalized_data, axis=0)
ideal_worst = np.min(normalized_data, axis=0)
# 计算每个决策方案到正理想解和负理想解的距离
distance_best = np.sqrt(np.sum((normalized_data - ideal_best)**2, axis=1))
distance_worst = np.sqrt(np.sum((normalized_data - ideal_worst)**2, axis=1))
# 计算每个决策方案的 TOPSIS 得分
topsis_score = distance_worst / (distance_worst + distance_best)
# 将得分可视化
plt.bar(range(len(topsis_score)), topsis_score)
plt.xticks(range(len(topsis_score)))
plt.xlabel('Decision option')
plt.ylabel('TOPSIS score')
plt.show()
```
这个代码示例假设有 5 个决策方案和 4 个评价标准,可以根据实际情况修改数据。最终的可视化结果是一个柱状图,横坐标是每个决策方案的编号,纵坐标是该决策方案的 TOPSIS 得分。
阅读全文