sampo.utilities.visualization.work_graph#

Overview#

Function#

work_graph_fig(graph, fig_size, fig_dpi, max_deep, show_names, show_arrows, hide_node_ids, legend_shift, show_only_not_dotted, dotted_edges, black_list_edges, jobs2text_function, text_size)

-

extract_cluster_name(work_name)

-

calculate_work_volume(work_unit)

-

collect_jobs(start, max_deep)

-

setup_jobs(start, jobs, id_to_job)

-

ax_add_works(ax, df, show_names, hide_nodes_id, jobs2text_function, text_size)

-

ax_add_dependencies(ax, df, id_to_job, dotted_edges, hide_nodes_id, show_only_not_dotted, black_list_edges)

-

draw_arrow_between_jobs(ax, first_job_dict, second_job_dict, linestyle)

-

color_from_str(name)

-

middle_color(color_a, color_b)

-

default_job2text(row)

-

empty_job2text(row)

-

Functions#

sampo.utilities.visualization.work_graph.work_graph_fig(graph: WorkGraph or GraphNode, fig_size: tuple[int, int], fig_dpi: int | None = 300, max_deep: int | None = None, show_names: bool | None = False, show_arrows: bool | None = True, hide_node_ids: list[str] | None = None, legend_shift: int | None = 0, show_only_not_dotted: bool | None = False, dotted_edges: set[tuple[str, str]] = None, black_list_edges: set[tuple[str, str]] = None, jobs2text_function: Callable[[pandas.Series], str] | None = None, text_size: int | None = 1) matplotlib.figure.Figure#
sampo.utilities.visualization.work_graph.extract_cluster_name(work_name: str) str#
sampo.utilities.visualization.work_graph.calculate_work_volume(work_unit: sampo.schemas.works.WorkUnit) float#
sampo.utilities.visualization.work_graph.collect_jobs(start: sampo.schemas.graph.GraphNode, max_deep: int | None = None)#
sampo.utilities.visualization.work_graph.setup_jobs(start: sampo.schemas.graph.GraphNode, jobs: list[dict], id_to_job: dict[str, int]) list[dict]#
sampo.utilities.visualization.work_graph.ax_add_works(ax: matplotlib.axes.Axes, df: pandas.DataFrame, show_names: bool, hide_nodes_id: set[str], jobs2text_function: Callable[[pandas.Series], str] | None = None, text_size: int | None = 1)#
sampo.utilities.visualization.work_graph.ax_add_dependencies(ax: matplotlib.axes.Axes, df: pandas.DataFrame, id_to_job: dict[str, int], dotted_edges: set[tuple[str, str]], hide_nodes_id: set[str], show_only_not_dotted: bool, black_list_edges: set[tuple[str, str]])#
sampo.utilities.visualization.work_graph.draw_arrow_between_jobs(ax, first_job_dict, second_job_dict, linestyle: str | None = None)#
sampo.utilities.visualization.work_graph.color_from_str(name: str) str#
sampo.utilities.visualization.work_graph.middle_color(color_a: str, color_b: str) str#
sampo.utilities.visualization.work_graph.default_job2text(row: pandas.Series) str#
sampo.utilities.visualization.work_graph.empty_job2text(row: pandas.Series) str#

Attributes#

sampo.utilities.visualization.work_graph.X_STEP = 0.8#
sampo.utilities.visualization.work_graph.X_DELTA = 0.2#
sampo.utilities.visualization.work_graph.X_PERIOD#
sampo.utilities.visualization.work_graph.TEXT_X_DELTA = 0.01#
sampo.utilities.visualization.work_graph.TEXT_Y_DELTA = 0.05#
sampo.utilities.visualization.work_graph.Y_STEP = 0.7#
sampo.utilities.visualization.work_graph.Y_DELTA = 0.3#
sampo.utilities.visualization.work_graph.Y_PERIOD#
sampo.utilities.visualization.work_graph.MIN_LEN = 0.2#
sampo.utilities.visualization.work_graph.ARROW_HEAD_WIDTH#
sampo.utilities.visualization.work_graph.ARROW_HEAD_LENGTH#
sampo.utilities.visualization.work_graph.BORDER_LINE_WIDTH = 0.3#
sampo.utilities.visualization.work_graph.LINE_WIDTH = 0.6#
sampo.utilities.visualization.work_graph.INF_INT#
sampo.utilities.visualization.work_graph.SIZE_LIMIT#
sampo.utilities.visualization.work_graph.DEFAULT_DPI = 50#
sampo.utilities.visualization.work_graph.DPI_LIMIT#