in identity-resolution/notebooks/identity-graph/nepytune/drawing.py [0:0]
def edge_scatters_by_label(graph, widths=None, colors=None, dashes=None, opacity=None):
if not colors:
colors = {}
if not dashes:
dashes = {}
if not widths:
widths = {}
if not opacity:
opacity = {}
for label, edges in group_by_label(graph, type_="edges"):
edge_x = []
edge_y = []
for edge in edges:
x0, y0 = graph.node[edge[0]]["pos"]
x1, y1 = graph.node[edge[1]]["pos"]
edge_x.append(x0)
edge_x.append(x1)
edge_x.append(None)
edge_y.append(y0)
edge_y.append(y1)
edge_y.append(None)
yield go.Scatter(
x=edge_x, y=edge_y,
line=dict(
width=widths.get(label, 0.5),
color=colors.get(label, '#888'),
dash=dashes.get(label, "solid")
),
opacity=opacity.get(label, 1),
name=label,
hoverinfo="none",
mode="lines",
)