Name of this type of cross variable interaction Plot
Here is python code to make a pretty good match for your picture.

from igraph import * 

AM = [[1,3,1,0], [3,7,3,0], [0,1,9,1], [0,1,3,1]]

g = Graph.Weighted_Adjacency(AM)

g.vs["color"] = ["red", "blue", "blue", "red"]
g.vs["size"] = [30,40,40,30]
g.es["width"] = [2,5,2,5,9,5,2,13,2,2,5,2]
g.es["color"] = ["#FF000066", "#FF000066", "#FF000066", 
    "#0000FF66", "#0000FF66", "#0000FF66", 
    "#0000FF66", "#0000FF66", "#0000FF66", 
    "#FF000066", "#FF000066", "#FF000066"]
g.es["curved"] = [0.2, 0.2, 0.0, 0.2, 0.2, 0.2, 
        0.2, 0.2, 0.2, 0.0, 0.2, 0.2]

LO = [[0.0,1.0], [0.0,0.0], [1.0,0.0], [1.0,1.0]]

plot(g, layout=LO,  margin=150)