import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator
import matplotlib.pyplot as plt
from mpl_toolkits.axisartist import Axes
from numpy import mean
plt.rcParams["font.family"] = "Times New Roman"
plt.rcParams["font.size"] = 22
label_font = {'family': 'Times New Roman', 'weight': 'normal', 'size': 28}
legend_font = {'family': 'Times New Roman', 'weight': 'normal', 'size': 22}
# plt.style.use('bmh')
def perf_throughout():
bps = [0, 0.0, 0.0, 2857020.0, 5376302.0, 5176158.0, 5090607.0, 4413460.0, 5147658.0, 2425230.0, 5286136.0, 4560290.0, 5628458.0, 2488508.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3967134.0, 5003668.0, 1270312.0, 4944964.0, 5207280.0, 5776670.0, 5049892.0, 4858236.0, 5895700.0, 4724728.0, 5720084.0, 909088.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5172668.0, 3134728.0, 875262.0, 5093056.0, 5307224.0, 5315710.0, 5018704.0, 5784626.0, 4838482.0, 5713817.0, 3950512.0, 313890.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2804804.0, 5933386.0, 3886892.0, 91090.0, 3836238.0, 5119948.0, 2266818.0, 613380.0, 1749620.0, 5167830.0, 4278548.0, 3612236.0, 0.0, 2464922.0, 5440060.0, 2470716.0, 1529532.0, 1213574.0, 5144922.0, 4902434.0, 3028380.0, 0.0, 3225416.0, 5483490.0, 2868102.0, 1585920.0, 850494.0, 4947992.0, 4804114.0, 2314702.0, 0.0, 3185480.0, 4722954.0, 3143584.0, 3466816.0, 0.0, 3816830.0, 5574756.0, 1902178.0, 442922.0, 2711312.0, 5210178.0, 3618832.0, 3838363.0, 0.0, 2655878.0, 5455238.0, 1964786.0, 1391766.0, 1199866.0, 5526638.0, 4815096.0, 3761998.0, 0.0, 1456972.0, 5461238.0, 2718992.0, 2292144.0, 74436.0, 5496262.0, 5410328.0, 3487086.0, 63478.0, 1674668.0, 5340586.0, 2889988.0, 2348582.0, 0.0, 5796584.0, 5159676.0, 3014790.0, 76706.0, 2338592.0, 5150732.0, 3056854.0, 3042628.0, 0.0, 4174866.0, 5433896.0, 2394686.0, 602768.0, 1914504.0, 5075328.0, 4134956.0, 3463536.0, 0.0, 2649094.0, 5473402.0, 2336916.0, 1480922.0, 1589496.0, 5098510.0, 4690450.0, 3801892.0, 0.0, 2142334.0, 5018366.0, 2473316.0, 2266114.0, 886734.0, 5512236.0, 4736742.0, 3518004.0, 0.0, 2872830.0, 5387800.0, 2576912.0, 1463194.0, 1170300.0, 5050480.0, 4623716.0, 2904892.0, 0.0, 3494846.0, 5299906.0, 3032402.0, 1665388.0, 960938.0, 5546100.0, 3895864.0, 2336454.0, 0.0, 4044864.0, 5360888.0, 3414050.0, 1642872.0, 486896.0, 5490388.0, 3996018.0, 2015758.0, 0.0, 4464476.0, 5399814.0, 3800592.0, 1446300.0, 0.0, 5781874.0, 3953134.0, 2101340.0, 0.0, 3336996.0, 5107972.0, 3125553.0, 2956470.0, 0.0, 4113558.0, 5397980.0, 2549800.0, 481706.0, 1682942.0, 5678374.0, 3555262.0, 2796402.0, 0.0, 4069880.0, 5451690.0, 2888558.0, 1058640.0, 593538.0, 5559684.0, 4410466.0, 3065774.0, 0.0, 2859044.0, 5487928.0, 2876782.0, 1842292.0, 262166.0, 5060150.0, 5039912.0, 3276034.0, 297274.0, 2579938.0, 5522346.0, 2767792.0, 1905720.0, 368212.0, 5138988.0, 5305460.0, 3412252.0, 52032.0, 2350436.0, 5467890.0, 2826396.0, 2120098.0, 151808.0, 5495136.0, 5085754.0, 3038748.0, 0.0, 2679830.0, 4978920.0, 2902204.0, 2686330.0, 0.0, 5676784.0, 4719706.0, 2303716.0, 0.0, 2664842.0, 5094660.0, 3277640.0, 3224562.0, 0.0, 3348964.0, 5358136.0, 2671150.0, 1357146.0, 1424580.0, 4643922.0, 4753832.0, 2653004.0, 0.0, 3107996.0, 4706812.0, 2898108.0, 3317160.0, 0.0, 4328164.0, 5588768.0, 2019448.0, 151250.0, 2835182.0, 5109080.0, 3574716.0, 3765996.0, 0.0, 2713516.0, 5633682.0, 2398700.0, 1163918.0, 1289084.0, 5505528.0, 4283708.0, 3641790.0, 0.0, 2631458.0, 5488398.0, 2542458.0, 1565364.0, 960294.0, 5623616.0, 4452754.0, 3184970.0, 0.0, 2425858.0, 5054188.0, 2809832.0, 2478334.0, 49744.0, 5955166.0, 4629882.0, 2571932.0, 0.0, 2694876.0, 5099412.0, 3065094.0, 3289434.0, 0.0, 3917230.0, 5285852.0, 2228310.0, 355056.0, 2593972.0, 5083942.0, 4131854.0, 3904614.0, 0.0, 2034592.0, 5426572.0, 2275044.0, 1917106.0, 976732.0, 5485760.0, 4932014.0, 3607507.0, 0.0, 2170296.0, 4909586.0, 2754130.0, 1945906.0, 0.0, 4772404.0, 5475850.0, 3335766.0, 1141714.0, 621176.0, 4947066.0, 4499028.0, 2642660.0, 0.0, 2746284.0, 5431592.0, 2759626.0, 2251114.0, 0.0, 4164408.0, 4930610.0, 3415868.0, 1896128.0, 699786.0, 5294802.0, 3945994.0, 1921194.0, 0.0, 5179496.0, 5087816.0, 3285864.0, 1710902.0, 97160.0, 4911026.0, 4625262.0, 1780478.0, 0.0, 3253238.0, 5149626.0, 3218394.0, 2371724.0, 0.0, 2142950.0, 4646878.0, 4314156.0, 3081184.0, 0.0, 3685302.0, 5056230.0, 2833514.0, 945452.0, 1911730.0, 5140028.0, 4158478.0, 3592664.0, 0.0, 2240654.0, 5317240.0, 2523986.0, 1983668.0, 295146.0, 5088550.0, 5097122.0, 3540834.0, 629762.0, 1796532.0, 5360560.0, 2642048.0, 2458430.0, 40408.0, 90746.0, 0.0, 0, 0.0, 0.0, 653968.0, 5128405.0, 5023526.0, 4545000.0, 5645147.0, 5016749.0, 4701674.0, 5567385.0, 4551402.0, 5573876.0, 4316981.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 178144.0, 3410710.0, 3032576.0, 4492768.0, 5336792.0, 5168622.0, 4962146.0, 5603808.0, 4697044.0, 5546766.0, 4462604.0, 2578790.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4804108.0, 4938452.0, 1121588.0, 3392120.0, 5147768.0, 2448278.0, 2309884.0, 75318.0, 4969062.0, 5283728.0, 2768690.0, 223938.0, 1326314.0, 5027492.0, 4247352.0, 3063328.0, 0.0, 2632474.0, 5326254.0, 2788282.0, 1834398.0, 152404.0, 4984670.0, 5137960.0, 822232.0, 2258858.0, 0.0, 3756040.0, 5327558.0, 3144354.0, 1510978.0, 0.0, 1185828.0, 4178506.0, 4536230.0, 918674.0, 3253612.0, 4945047.0, 5119442.0, 121458.0, 1512412.0, 5613024.0, 4336987.0, 1966276.0, 0.0, 2711744.0, 4050224.0, 5337232.0, 1283034.0, 0.0, 2157088.0, 5150000.0, 3487290.0, 2623156.0, 0.0, 0.0, 0.0, 3588998.0, 2386112.0, 4542479.0, 3111590.0, 0.0, 0.0, 4768570.0, 2436478.0, 5899688.0, 251766.0, 0.0, 4088098.0, 5055264.0, 4231326.0, 0.0, 1154362.0, 4526818.0, 5727306.0, 1990038.0, 0.0, 2582264.0, 5442314.0, 5314122.0, 0.0, 0.0, 4139160.0, 5746588.0, 3504956.0, 0.0, 1109180.0, 4834786.0, 4667040.0, 2677616.0, 0.0, 1555180.0, 5669492.0, 5078016.0, 1180388.0, 0.0, 3767906.0, 5957032.0, 3687230.0, 0.0, 920060.0, 5828306.0, 4473388.0, 2164956.0, 0.0, 2191904.0, 5815890.0, 4998990.0, 392360.0, 0.0, 4052934.0, 5463014.0, 3902572.0, 0.0, 297348.0, 5816050.0, 4487146.0, 2798028.0, 0.0, 2984852.0, 4556548.0, 4965496.0, 896850.0, 0.0, 4646142.0, 4588734.0, 4193012.0, 0.0, 1069028.0, 4719254.0, 5091952.0, 2544474.0, 0.0, 2818174.0, 4675862.0, 5122522.0, 807094.0, 0.0, 4660676.0, 4519874.0, 4256814.0, 0.0, 996590.0, 4696360.0, 5068602.0, 2685819.0, 0.0, 2462966.0, 4570800.0, 5033612.0, 1319956.0, 0.0, 3551062.0, 4296144.0, 5441390.0, 171852.0, 0.0, 3753018.0, 5077895.0, 4557158.0, 0.0, 652870.0, 4606280.0, 5847632.0, 2295122.0, 0.0, 2610858.0, 5564948.0, 4225426.0, 1129492.0, 0.0, 3540712.0, 5754864.0, 4162636.0, 0.0, 899676.0, 5775250.0, 5757116.0, 1035562.0, 0.0, 3175856.0, 5285598.0, 5048016.0, 0.0, 0.0, 4350386.0, 5792236.0, 3227618.0, 0.0, 1335402.0, 5511738.0, 5808130.0, 751420.0, 0.0, 3231934.0, 5319864.0, 4647738.0, 139804.0, 0.0, 4010751.0, 5345584.0, 4078420.0, 0.0, 251424.0, 5787826.0, 4403856.0, 2967294.0, 0.0, 2010160.0, 5723996.0, 5026758.0, 634090.0, 0.0, 4292118.0, 5788598.0, 3328288.0, 0.0, 1110332.0, 5404486.0, 4183358.0, 2725660.0, 0.0, 2376070.0, 4539007.0, 4891834.0, 1737123.0, 0.0, 4132744.0, 4350846.0, 4907370.0, 0.0, 142274.0, 4246776.0, 4610116.0, 4467302.0, 0.0, 520958.0, 4486100.0, 5763612.0, 2624546.0, 0.0, 2323758.0, 4558792.0, 5665386.0, 899592.0, 0.0, 3259818.0, 5441918.0, 4762374.0, 0.0, 549672.0, 4562328.0, 5743706.0, 2632862.0, 0.0, 1857370.0, 5286842.0, 5723598.0, 607830.0, 0.0, 3406692.0, 5545608.0, 4448278.0, 0.0, 987772.0, 4549604.0, 5835494.0, 2127330.0, 0.0, 2559556.0, 5724742.0, 5128362.0, 0.0, 233650.0, 4558754.0, 5745874.0, 2957526.0, 0.0, 1662384.0, 5047502.0, 5709446.0, 904530.0, 0.0, 3100436.0, 5509494.0, 4879068.0, 0.0, 441204.0, 4591172.0, 5899418.0, 2554922.0, 0.0, 1943178.0, 5035314.0, 5814066.0, 555958.0, 0.0, 3368298.0, 5443804.0, 4572556.0, 0.0, 642110.0, 4665714.0, 5934316.0, 2281440.0, 0.0, 2856284.0, 5316504.0, 5232320.0, 0.0, 205120.0, 4256296.0, 5414608.0, 3616580.0, 0.0, 709750.0, 5949410.0, 5933676.0, 1022639.0, 0.0, 3725265.0, 5252713.0, 4673476.0, 0.0, 1076023.0, 4730480.0, 5229077.0