import matplotlibpyplot as plt# 配送成本数据costs_p6 = 100 90 80costs_p7 = 110 95 85costs_p8 = 120 100 90# 客户效用数据utility_p6 = 09 085 08utility_p7 = 092 087 082utility_p8 = 094 089 084# 紧凑性数据compactness_p6 =
是的,代码中的横坐标是P值,需要进行修改才能反映考虑紧凑性和不考虑紧凑性两种情况的比较。可以将横坐标修改为['Without compactness', 'With compactness'],并将每种P值下的数据分别放在这两个类别下。修改后的代码如下:
import matplotlib.pyplot as plt
配送成本数据
costs_p6 = [100, 90] costs_p7 = [110, 95] costs_p8 = [120, 100]
客户效用数据
utility_p6 = [0.9, 0.85] utility_p7 = [0.92, 0.87] utility_p8 = [0.94, 0.89]
紧凑性数据
compactness_p6 = [0.75, 0.7] compactness_p7 = [0.77, 0.72] compactness_p8 = [0.79, 0.74]
车辆数量数据
vehicles_p6 = [5, 4] vehicles_p7 = [6, 5] vehicles_p8 = [7, 6]
绘制子图
fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(10,8))
配送成本子图
axs[0, 0].plot(['Without compactness', 'With compactness'], costs_p6, marker='o', label='P=6') axs[0, 0].plot(['Without compactness', 'With compactness'], costs_p7, marker='s', label='P=7') axs[0, 0].plot(['Without compactness', 'With compactness'], costs_p8, marker='^', label='P=8') axs[0, 0].set_xlabel('Compactness') axs[0, 0].set_ylabel('Delivery cost') axs[0, 0].legend()
客户效用子图
axs[0, 1].plot(['Without compactness', 'With compactness'], utility_p6, marker='o', label='P=6') axs[0, 1].plot(['Without compactness', 'With compactness'], utility_p7, marker='s', label='P=7') axs[0, 1].plot(['Without compactness', 'With compactness'], utility_p8, marker='^', label='P=8') axs[0, 1].set_xlabel('Compactness') axs[0, 1].set_ylabel('Customer utility') axs[0, 1].legend()
紧凑性子图
axs[1, 0].plot(['Without compactness', 'With compactness'], compactness_p6, marker='o', label='P=6') axs[1, 0].plot(['Without compactness', 'With compactness'], compactness_p7, marker='s', label='P=7') axs[1, 0].plot(['Without compactness', 'With compactness'], compactness_p8, marker='^', label='P=8') axs[1, 0].set_xlabel('Compactness') axs[1, 0].set_ylabel('Compactness') axs[1, 0].legend()
车辆数量子图
axs[1, 1].plot(['Without compactness', 'With compactness'], vehicles_p6, marker='o', label='P=6') axs[1, 1].plot(['Without compactness', 'With compactness'], vehicles_p7, marker='s', label='P=7') axs[1, 1].plot(['Without compactness', 'With compactness'], vehicles_p8, marker='^', label='P=8') axs[1, 1].set_xlabel('Compactness') axs[1, 1].set_ylabel('Number of vehicles') axs[1, 1].legend()
标题和标签
fig.suptitle('Comparison of objectives for different P values') fig.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show(
原文地址: http://www.cveoy.top/t/topic/fjMR 著作权归作者所有。请勿转载和采集!