| @@ -131,24 +131,36 @@ if __name__ == "__main__": | |||
| ax00 = ax[1] | |||
| ax01 = ax00.twinx() | |||
| ax02 = ax00.twinx() | |||
| ax02.spines.right.set_position(("axes", 1.22)) | |||
| # Plot vertical lines | |||
| first = True | |||
| lte_handovers = transmission_df["Cell_ID"].diff().dropna() | |||
| for index, value in lte_handovers.items(): | |||
| if value > 0: | |||
| ax00.axvline(index, ymin=0, ymax=1, color="skyblue", label="4G Handover") | |||
| if first: | |||
| ax00.axvline(index, ymin=0, ymax=1, color="skyblue", label="4G Handover") | |||
| first = False | |||
| else: | |||
| ax00.axvline(index, ymin=0, ymax=1, color="skyblue") | |||
| first = True | |||
| nr_handovers = transmission_df["NR5G_Cell_ID"].diff().dropna() | |||
| for index, value in nr_handovers.items(): | |||
| if value > 0: | |||
| ax00.axvline(index, ymin=0, ymax=1, color="greenyellow", label="5G Handover") | |||
| if first: | |||
| ax00.axvline(index, ymin=0, ymax=1, color="greenyellow", label="5G Handover") | |||
| first = False | |||
| else: | |||
| ax00.axvline(index, ymin=0, ymax=1, color="greenyellow") | |||
| ax0.plot(transmission_df["snd_cwnd"].dropna(), color="lime", linestyle="dashed", label="cwnd") | |||
| ax1.plot(transmission_df["srtt"].dropna(), color="red", linestyle="dashdot", label="sRTT") | |||
| ax2.plot(transmission_df["goodput_rolling"], color="blue", linestyle="solid", label="goodput") | |||
| ax00.plot(transmission_df["NR5G_RSRQ_(dB)"].dropna(), color="magenta", linestyle="dotted", label="NR RSRQ") | |||
| ax01.plot(transmission_df["bw_sum"].dropna(), color="peru", linestyle="dotted", label="bandwidth") | |||
| ax02.plot(transmission_df["RSRQ_(dB)"].dropna(), color="magenta", linestyle="dotted", label="LTE RSRQ") | |||
| ax02.plot(transmission_df["RSRQ_(dB)"].dropna(), color="purple", linestyle="dotted", label="LTE RSRQ") | |||
| ax2.spines.right.set_position(("axes", 1.1)) | |||
| @@ -156,7 +168,7 @@ if __name__ == "__main__": | |||
| ax1.set_ylim(0, 0.3) | |||
| ax2.set_ylim(0, 500) | |||
| ax00.set_ylim(-25, -5) | |||
| ax01.set_ylim(0, 200) | |||
| ax01.set_ylim(0, 400) | |||
| ax02.set_ylim(-25, -5) | |||
| ax00.set_xlabel("arrival time [s]") | |||