# Drawing module¶

This module contains functions for drawing temporal networks in different ways. It depends on three packages not being installed during installation with pip, which are

• matplotlib
• networkx
• python-louvain

If you want to use this module, please install the dependencies listed above.

tacoma.drawing.draw_edges(traj, time_normalization_factor=1.0, time_unit=None, ax=None, fit=False, edge_order=None, color=None, alpha=0.5, linewidth=1.0, intervals_to_discard_for_fit=[], fit_color='k', return_fit_params=False)[source]

Draw edges according to an edge activity plot.

Parameters: traj (list of _tacoma.edge_trajectory_entry) – The result of tacoma.api.get_edge_trajectories(). float, default (time_normalization_factor,) – Rescale time by this factor. time_unit (str, default : None) – Unit of time to put on the axis. ax (matplotlib.Axes, default : None) – Axis to draw on, will create new one if none provided. fit (bool, default : False) – Fit a curve to the number of uniquely observed edges. edge_order (list of int, default : None) – Reorder the edges according to this list before drawing. color (a matplotlib color, default : None) – Color in which to draw the edges in alpha (float, default : 0.5) – Line opacity of edges linewidth (float, default : 1.0) – Line width of edges intervals_to_discard_for_fit (list of tuple of float) – a list of time intervals which have to be discarded for the fit fit_color (a matplotlib color, default : 'k') – color in which to draw the fit in return_fit_params (bool, default : False) – Switch this on if you want to obtain the fit parameters. fig (matplotlib.Figure) – If an axes was provided, this is None. ax (matplotlib.Axes) – The axes the plot was drawn on. popt (tuple of float) – Fit parameters, will only be returned if return_fit_params is True.
tacoma.drawing.edge_activity_plot(temporal_network, time_normalization_factor=1.0, time_unit=None, ax=None, fit=False, edge_order=None, color=None, alpha=0.5, linewidth=1, intervals_to_discard_for_fit=[], fit_color=None, return_fit_params=False)[source]

Draw an edge activity plot for the given temporal network. This is a wrapper for tacoma.drawing.draw_edges().

Parameters: temporal_network (_tacoma.edge_lists or _tacoma.edge_changes.) – A temporal network. float, default (time_normalization_factor,) – Rescale time by this factor. time_unit (str, default : None) – Unit of time to put on the axis. ax (matplotlib.Axes, default : None) – Axis to draw an, will create new one if none provided. fit (bool, default : False) – Fit a curve to the number of uniquely observed edges. edge_order (list of int, default : None) – Reorder the edges according to this list before drawing. color (a matplotlib color, default : None) – Color in which to draw the edges in alpha (float, default : 0.5) – Line opacity of edges linewidth (float, default : 1.0) – Line width of edges intervals_to_discard_for_fit (list of tuple of float) – a list of time intervals which have to be discarded for the fit fit_color (a matplotlib color, default : 'k') – color in which to draw the fit in return_fit_params (bool, default : False) – Switch this on if you want to obtain the fit parameters. fig (matplotlib.Figure) – If an axes was provided, this is None. ax (matplotlib.Axes) – The axes the plot was drawn on. popt (tuple of float) – Fit parameters, will only be returned if return_fit_params is True.
tacoma.drawing.fit_function(x, alpha, scale, fac, intervals_to_discard_for_fit)[source]

A fit function for the number of uniquely observed edges over time, following the assumption that edge activity rates follow a gamma distribution.

$\begin{split}f(x) = \frac{\lambda^\alpha}{\Gamma(\lambda)} x^{\alpha-1}\\exp(-\lambda x)\end{split}$

The fit function is

$y(x) = \phi\times \left[ 1 - \left(\frac{\lambda}{\lambda+x}\right)^\alpha\right]$
Parameters: x (numpy.ndarray) – Data on the x-axis, typically time alpha (float) – exponent in gamma distribution, has to be alpha > 0 scale (float) – scale $$\\lambda$$ in gamma distribution, has to be scale > 0 fac (float) – prefactor, typically $$\\phi=N(N-1)/2$$. intervals_to_discard_for_fit (list of tuple of float) – a list of time intervals which have to be discarded for the fit y – value of the function numpy.ndarray
tacoma.drawing.get_edge_graph(edge_traj, edge_sim, threshold=0.0)[source]

Construct a thresholded edge similarity graph.

Parameters: edge_traj (list of _tacoma.edge_trajectory_entry) – Edge trajectories, first result of tacoma.api.get_edge_trajectories(), or entry trajectories of :class_tacoma.edge_trajectories. edge_sim (dict where key is a tuple of int and value is a float) – Edge similarities, tuple of int denoting the pair of edges, similarity is in dimension of time. 2nd result of tacoma.api.get_edge_trajectories(), or entry edge_similarities of :class_tacoma.edge_trajectories. threshold (float) – Ignore similarities below this threshold (minimum time spent together, where spent together refers to edges connected to the same node at the same time). G – An undirected, unweighted graph where nodes are edges in the temporal network and edges mean their similarity is above the threshold. nx.Graph
tacoma.drawing.get_edge_order(edge_traj, edge_sim, threshold=0.0)[source]

Create an edge order by performing a Louvain-clustering on the thresholded edge similarity graph.

Parameters: edge_traj (list of _tacoma.edge_trajectory_entry) – Edge trajectories, first result of tacoma.api.get_edge_trajectories(), or entry trajectories of :class_tacoma.edge_trajectories. edge_sim (dict where key is a tuple of int and value is a float) – Edge similarities, tuple of int denoting the pair of edges, similarity is in dimension of time. 2nd result of tacoma.api.get_edge_trajectories(), or entry edge_similarities of :class_tacoma.edge_trajectories. threshold (float) – Ignore similarities below this threshold (minimum time spent together, where spent together refers to edges connected to the same node at the same time). edge_order – Edge indices ordered in clusters. list of int