Connect points in for loop

Try this:

w = 0:5:100
s = w * 1im
k1 = 0.27 .* s.^3 .+ 4.45 .* s.^2 .+ 1.21 .* s.^1 .+ 114.3
k2 = 0.33 .* s.^3 .+ 5.44 .* s.^2 .+ 1.21 .* s.^1 .+ 114.3
k3 = 0.27 .* s.^3 .+ 5.44 .* s.^2 .+ 1.21 .* s.^1 .+ 114.3
k4 = 0.33 .* s.^3 .+ 4.45 .* s.^2 .+ 1.21 .* s.^1 .+ 114.3

mode = "markers"

trace1 = scatter(; x = real(k1), y = imag(k1), mode)
trace2 = scatter(; x = real(k2), y = imag(k2), mode)
trace3 = scatter(; x = real(k3), y = imag(k3), mode)
trace4 = scatter(; x = real(k4), y = imag(k4), mode)

L1 = [k1 k3 k2 k4 k1 fill!(similar(k1),NaN + NaN*1im)] |> transpose |> vec
rects = scatter(; x = real(L1), y = imag(L1), mode="lines", line_color="black")
           
plot([trace1, trace2, trace3, trace4, rects])

Here’s another version that resembles your MATLAB version with lines of different colors.

julia> begin
           w = 0:5:100
           s = w * 1im
           p(a,b,c,d) = s->a*s^3 + b*s^2 + c*s + d 
           k1 = p(0.27, 4.45, 1.21, 114.3).(s)
           k2 = p(0.33, 5.44, 1.21, 114.3).(s)
           k3 = p(0.27, 5.44, 1.21, 114.3).(s)
           k4 = p(0.33, 4.45, 1.21, 114.3).(s)

           function draw_line(kn, km)
               L = [kn km fill!(similar(kn), NaN + 1im *NaN)]
               L = vec(transpose(L))
               x = real(L)
               y = imag(L)
               mode = "lines"
               scatter(; x, y, mode)
           end         
           plot(draw_line.(
               [k1, k3, k2, k4],
               [k3, k2, k4, k1]
           ))
       end

2 Likes