同一 oX 位置上的不同箱线图
Different box plots on the same oX position
我正在尝试将箱线图与散点图相结合以实现算法评分可视化。我的数据划分如下:
- oX - 有关时间段的信息(1 年、2 年等)
- oY - 有关分数的信息
- 每个时期的 2 种算法,具有不同的模拟结果(绘制为箱线图)
- 2 个具有单个值的启发式(绘制为一个点)
我正在尝试轻松比较每个时间段的方法效率。
小样本数据:
1 year 2 years
A1 A2 H1 H2 A1 A2 H1 H2
124 168 155 167 130 130 150 164
102 155 100 172
103 153 117 145
102 132 145 143
145 170 133 179
136 125 115 153
116 150 136 131
146 192 106 148
124 122 127 158
128 123 149 200
141 158 137 156
我正在尝试获取如下所示的内容:
到目前为止,我已经清理了我的数据,以便分别对每个算法(RS、EA)和每个周期(52、104、156 等)进行观察like so,但我不能找出如何按周期对它们进行分组,同时为相同的 X 刻度绘制 2 个不同的箱线图。我假设一旦我整理出箱形图数据框和绘图,我就可以在顶部绘制散点图。
设法同时解决这个问题,以防它帮助其他人:
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'PRS', color = '#880BDD', linewidth=0.8)
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'EA', color = '#0BC9DD', linewidth=0.8)
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'ERS', color = '#9BD19D', linewidth=0.8)
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Average', color='#FFC48C', markers ='s', join=False)
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Total', color='#FF9F80', markers='o', join=False)
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Weeks', color='#F56991', markers='*', join=False)
ax1.set(xlabel = "Planning Horizon (weeks)")
ax1.set(ylabel = "Hypervolume")
EA = mpatches.Patch(color='#0BC9DD', label = 'EA')
PRS = mpatches.Patch(color='#880BDD', label = 'PRS')
ERS = mpatches.Patch(color='#9BD19D', label = 'ERS')
GA = mlines.Line2D([], [], color='#FFC48C', marker = 's', label = 'Greedy Average')
GT = mlines.Line2D([], [],color='#FF9F80', label = 'Greedy Total', marker = 'o')
GW = mlines.Line2D([], [],color='#F56991', label = 'Greedy Weeks', marker = '*')
plt.legend(handles = [EA, ERS, PRS, GA, GT, GW], loc = 'bottom left', title = "Algorithm")
ax1.set_title("Algorithm Comparison")
结果:
我正在尝试将箱线图与散点图相结合以实现算法评分可视化。我的数据划分如下:
- oX - 有关时间段的信息(1 年、2 年等)
- oY - 有关分数的信息
- 每个时期的 2 种算法,具有不同的模拟结果(绘制为箱线图)
- 2 个具有单个值的启发式(绘制为一个点)
我正在尝试轻松比较每个时间段的方法效率。
小样本数据:
1 year 2 years
A1 A2 H1 H2 A1 A2 H1 H2
124 168 155 167 130 130 150 164
102 155 100 172
103 153 117 145
102 132 145 143
145 170 133 179
136 125 115 153
116 150 136 131
146 192 106 148
124 122 127 158
128 123 149 200
141 158 137 156
我正在尝试获取如下所示的内容:
到目前为止,我已经清理了我的数据,以便分别对每个算法(RS、EA)和每个周期(52、104、156 等)进行观察like so,但我不能找出如何按周期对它们进行分组,同时为相同的 X 刻度绘制 2 个不同的箱线图。我假设一旦我整理出箱形图数据框和绘图,我就可以在顶部绘制散点图。
设法同时解决这个问题,以防它帮助其他人:
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'PRS', color = '#880BDD', linewidth=0.8)
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'EA', color = '#0BC9DD', linewidth=0.8)
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'ERS', color = '#9BD19D', linewidth=0.8)
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Average', color='#FFC48C', markers ='s', join=False)
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Total', color='#FF9F80', markers='o', join=False)
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Weeks', color='#F56991', markers='*', join=False)
ax1.set(xlabel = "Planning Horizon (weeks)")
ax1.set(ylabel = "Hypervolume")
EA = mpatches.Patch(color='#0BC9DD', label = 'EA')
PRS = mpatches.Patch(color='#880BDD', label = 'PRS')
ERS = mpatches.Patch(color='#9BD19D', label = 'ERS')
GA = mlines.Line2D([], [], color='#FFC48C', marker = 's', label = 'Greedy Average')
GT = mlines.Line2D([], [],color='#FF9F80', label = 'Greedy Total', marker = 'o')
GW = mlines.Line2D([], [],color='#F56991', label = 'Greedy Weeks', marker = '*')
plt.legend(handles = [EA, ERS, PRS, GA, GT, GW], loc = 'bottom left', title = "Algorithm")
ax1.set_title("Algorithm Comparison")
结果: