需要分别可视化三种P值678下的考虑均衡性和不考虑两种均衡性的配送成本、客户效用、紧凑性和车辆数量四个目标的比较字体为Times New Roman将三个P值下的考虑均衡性和不考虑均衡性的四个指标的值绘制成了雷达图并使用了不同的颜色进行区分。给出PYTHON示例代码P为斜体
import matplotlib.pyplot as plt import numpy as np
数据
p6_unbalanced = [2.3, 3.4, 4.5, 5.6] p6_balanced = [1.5, 2.6, 3.7, 4.8] p7_unbalanced = [2.1, 3.2, 4.3, 5.4] p7_balanced = [1.4, 2.5, 3.6, 4.7] p8_unbalanced = [2.0, 3.1, 4.2, 5.3] p8_balanced = [1.3, 2.4, 3.5, 4.6]
指标名称
labels = ['Delivery Cost', 'Customer Utility', 'Compactness', 'Vehicle Number']
构造雷达图
angles = np.linspace(0, 2*np.pi, len(labels), endpoint=False) angles = np.concatenate((angles, [angles[0]])) fig = plt.figure() ax = fig.add_subplot(111, polar=True) ax.set_theta_offset(np.pi/2) ax.set_theta_direction(-1) ax.set_rlabel_position(0) ax.plot(angles, p6_unbalanced, 'o-', linewidth=2, label='P=6 unbalanced') ax.fill(angles, p6_unbalanced, alpha=0.25) ax.plot(angles, p6_balanced, 'o-', linewidth=2, label='P=6 balanced') ax.fill(angles, p6_balanced, alpha=0.25) ax.plot(angles, p7_unbalanced, 'o-', linewidth=2, label='P=7 unbalanced') ax.fill(angles, p7_unbalanced, alpha=0.25) ax.plot(angles, p7_balanced, 'o-', linewidth=2, label='P=7 balanced') ax.fill(angles, p7_balanced, alpha=0.25) ax.plot(angles, p8_unbalanced, 'o-', linewidth=2, label='P=8 unbalanced') ax.fill(angles, p8_unbalanced, alpha=0.25) ax.plot(angles, p8_balanced, 'o-', linewidth=2, label='P=8 balanced') ax.fill(angles, p8_balanced, alpha=0.25) ax.set_thetagrids(angles * 180/np.pi, labels) ax.legend(loc='best')
显示图形
plt.show(
原文地址: https://www.cveoy.top/t/topic/fjEM 著作权归作者所有。请勿转载和采集!