specs = {{2, 30, 2, "Log"}, {30, 2500, 4}}; dg = AxisBreaks[specs, Output -> "Direct"]; ig = AxisBreaks[specs, Output -> "Inverse"]; makeTicks[func_, major_List, minor_List: {}] := ({func@#, ToString@#, {0.02, 0}, {}} & /@ major)~Join~({func@#, "", {0.01, 0}, {}} & /@ minor); major = {2, 10, 30}~Join~Range[500, 2500, 500]; minor = Range[3, 9]~Join~{20}~Join~Range[100, 2400, 100]; ticks = makeTicks[dg, major, minor]; func[x_] := Total@Thread[((#2 #3 x^2)/(#3^2 x^2 + (-x^2 + #1^2)^2) &) [{2, 250, 600, 800, 1500}, {2, 100, 5040, 5040, 40}, {15030, 150200, 150200, 200, 1000}]] Plot[10^4 func[ig[x]], {x, dg[2], dg[2500]}, FrameStyle -> Thick, ImageSize -> 600, BaseStyle -> 16, Frame -> True, FrameTicks -> {ticks, Automatic}, Epilog -> {Gray, Dashed, Line[{{dg[30], -200}, {dg[30], 5500}}]}]