Graph options#
Directed graphs#
Directed graphs can be obtained by using the directed
parameter in the graph constructor.
If this parameter is None
, an undirected graph will be produced.
Otherwise, for a directed graph, directed
can take one of the following values:
left_to_right
:Edge directions go from left to right according to the series temporal x axis.
top_to_bottom
:Edge directions go from top to bottom according to the series y axis.
Note
If both endpoints of an edge have the exact same y value then the direction is ambiguous and no consistent direction is guaranteed.
Weighted graphs#
Weighted graphs can be obtained by using the weighted
parameter in the graph constructor.
If this parameter is None
, an unweighted graph will be produced.
Otherwise, for a weighted graph, weighted
can take one of the following values
(assuming directed edges going from point \((x_i, y_i)\) to point \((x_j, y_j)\)):
distance
:Euclidean distance. Calculated as:
\[\sqrt{(x_j - x_i)^2 \cdot (y_j - y_i)^2}\]sq_distance
:Squared Euclidean distance (quicker to compute than regular Euclidean distance). Calculated as:
\[(x_j - x_i)^2 \cdot (y_j - y_i)^2\]v_distance
:Vertical distance. Calculated as:
\[y_j - y_i\]abs_v_distance
:Absolute vertical distance. Calculated as:
\[\left| y_j - y_i \right|\]h_distance
:Horizontal distance. Calculated as:
\[x_j - x_i\]abs_h_distance
:Absolute horizontal distance. Calculated as:
\[\left| x_j - x_i \right|\]slope
:Slope, in the range (-∞, +∞). Calculated as:
\[\frac{y_j - y_i}{x_j - x_i}\]abs_slope
:Absolute slope, in the range (0, +∞). Calculated as:
\[\left| \frac{y_j - y_i}{x_j - x_i} \right|\]angle
:Slope angle in radians, in the range (-π/2, +π/2). Calculated as:
\[\arctan \left( \frac{y_j - y_i}{x_j - x_i} \right)\]abs_angle
:Absolute slope angle in radians, in the range (0, +π/2). Calculated as:
\[\arctan \left( \left| \frac{y_j - y_i}{x_j - x_i} \right| \right)\]num_penetrations
:In limited penetrable visibility graphs this is the number of obstructing intermediate data points that the edge is penetrating. In non-penetrable (the default) visibility graphs this is always 0 by definition.
Note
Asymmetrical weight functions (like v_distance
, h_distance
, slope
, angle
) depend on the edge direction,
the direction specified in the directed
parameter is used.
If the graph is undirected, a ‘left to right’ edge direction is used by default.