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

