| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- def make_plot_ships_script(priority:str, strategy:str, max_waits:list[float], gen_num:int):
- return (f"""
- ### priority={priority}, strategy={strategy} ###
- set terminal svg
- # plot 1. x-axis: ships, y-axis: queuing duration of ship
- set out 'plot_ships_{strategy}_{priority}.svg'
- set title "Queueing duration"
- set xlabel "Ship #"
- set ylabel "Seconds"
- #unset xlabel
- #unset xtics
- set key title "Max Wait"
- set key bottom center out
- set key horizontal
- """
- # + '\n'.join([
- # f"set style line {i+1} lw 4"
- # for i in range(len(max_waits))
- # ])
- + f"""
- # set yrange [0:90000]
- set xrange [0:{gen_num}]
- set style fill solid
- plot 'output_{strategy}_{priority}.csv' \\\n """ + ", \\\n '' ".join([
- f"using 1:{i+1} title '{max_wait}' w boxes ls {i+1}"
- for i, max_wait in enumerate(max_waits)
- ]))
- def make_plot_box_script(priority:str, strategy:str, max_waits:list[float], gen_num:int):
- return (f"""
- # plot 2. x-axis: max-wait parameter, y-axis: queueing durations of ships
- set out 'plot_box_{strategy}_{priority}.svg'
- set style fill solid 0.25 border -1
- set style boxplot outliers pointtype 7
- set style data boxplot
- set key off
- set xlabel "Max Wait"
- unset xrange
- unset yrange
- set xtics (""" + ', '.join([ f"'{max_wait}' {i}"
- for i, max_wait in enumerate(max_waits)]) + f""")
- plot 'output_{strategy}_{priority}.csv' \\\n """ + ", \\\n '' ".join([
- f"using ({i}):{i+2} title '{max_wait}'"
- for i, max_wait in enumerate(max_waits)
- ]))
|