Matplotlib#
matplotlib-backend visualizations in hiveplotlib.
- hiveplotlib.viz.matplotlib.axes_viz(instance: BaseHivePlot | HivePlot | P2CP, fig: Figure | None = None, ax: Axes | None = None, buffer: float = 0.1, show_axes_labels: bool = True, axes_labels_buffer: float = 1.1, axes_labels_fontsize: int = 16, figsize: Tuple[float, float] = (10, 10), center_plot: bool = True, axes_off: bool = True, fig_kwargs: dict | None = None, text_kwargs: dict | None = None, **axes_kwargs) Tuple[Figure, Axes]#
matplotlibvisualization of axes in aHivePlotorP2CPinstance.- Parameters:
instance –
HivePlotorP2CPinstance for which we want to draw axes.fig – default
Nonebuilds new figure. If a figure is specified, axes will be drawn on that figure. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.ax – default
Nonebuilds new axis. If an axis is specified,Axisinstances will be drawn on that axis. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.buffer – fraction of the axes past which to buffer x and y dimensions (e.g. setting
bufferto 0.1 will find the maximum radius spanned by anyAxisinstance and set the x and y bounds as(-max_radius - buffer * max_radius, max_radius + buffer * max_radius)).show_axes_labels – whether to label the hive plot axes in the figure (uses
Axis.long_namefor eachAxis.)axes_labels_buffer – fraction which to radially buffer axes labels (e.g. setting
axes_label_bufferto 1.1 will be 10% further past the end of the axis moving from the origin of the plot).axes_labels_fontsize – font size for axes labels.
figsize – size of figure. Note: only works if instantiating new figure and axes (e.g.
figandaxareNone).center_plot – whether to center the figure on
(0, 0), the currently fixed center that the axes are drawn around by default. Will only run if there is at least one axis ininstance.axes_off – whether to turn off Cartesian x, y axes in resulting
matplotlibfigure (defaultTruehides the x and y axes).fig_kwargs – additional values to be called in
plt.subplots()call. Note iffigsizeis added here, then it will be prioritized over thefigsizeparameter.text_kwargs – additional kwargs passed to
plt.text()call.axes_kwargs – additional params that will be applied to all hive plot axes. Note, these are kwargs that affect a
plt.plot()call.
- Returns:
matplotlibfigure, axis.
- hiveplotlib.viz.matplotlib.edge_viz(instance: BaseHivePlot | HivePlot | P2CP, fig: Figure | None = None, ax: Axes | None = None, tags: Hashable | List[Hashable] | None = None, figsize: Tuple[float, float] = (10, 10), center_plot: bool = True, buffer: float = 0.1, axes_off: bool = True, fig_kwargs: dict | None = None, prioritize_array_over_color: bool = True, **edge_kwargs) Tuple[Figure, Axes] | None#
matplotlibvisualization of constructed edges in aHivePlotorP2CPinstance.Note
If
instanceis aHivePlot, then users can provide edge-specific data to plotting keyword arguments by providing column names from theHivePlot.edges.dataDataFrame as values to one of the following options:HivePlot.edge_plotting_keyword_argumentsattribute viaHivePlot.update_edge_plotting_keyword_arguments().HivePlot.edges.edge_viz_kwargsattribute viaHivePlot.edges.update_edge_viz_kwargs().In this call in the provided
edge_kwargs.
If
instanceis aHivePlot, then edge keyword arguments will be prioritized according to the following hierarchy:The most prioritized arguments are the arguments stored in the hive plot
hive_plot_edgesattribute, followed by the providededge_kwargs, then the edge keyword argument hierarchy set by the hive plot’sedge_kwarg_hierarchyattribute, and finally theHivePlot.edges.edge_viz_kwargs.If any keyword arguments in the
hive_plot_edgesattribute are also provided in this function’sedge_kwargs, then a warning will be raised.- Parameters:
instance –
HivePlotorP2CPinstance for which we want to draw edges.fig – default
Nonebuilds new figure. If a figure is specified, edges will be drawn on that figure. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.ax – default
Nonebuilds new axis. If an axis is specified, edges will be drawn on that axis. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.tags – which tag(s) of data to plot. Default
Noneplots all tags of data. Can supply either a single tag or list of tags.figsize – size of figure. Note: only works if instantiating new figure and axes (e.g.
figandaxareNone).center_plot – whether to center the figure on
(0, 0), the currently fixed center that the axes are drawn around by default. Will only run if there is at least one axis ininstance.buffer – fraction of the axes past which to buffer x and y dimensions (e.g. setting
bufferto 0.1 will find the maximum radius spanned by anyAxisinstance and set the x and y bounds as(-max_radius - buffer * max_radius, max_radius + buffer * max_radius)).axes_off – whether to turn off Cartesian x, y axes in resulting
matplotlibfigure (defaultTruehides the x and y axes).fig_kwargs – additional values to be called in
plt.subplots()call. Note iffigsizeis added here, then it will be prioritized over thefigsizeparameter.prioritize_array_over_color – if both
arrayandcolorare provided by the user as edge kwargs for any subset of edges, then setting this toTruewill dropcolorand usearrayto color edges. IfFalse, will instead usecolor. DefaultTrue.edge_kwargs – additional params that will be applied to all edges on all axes (but kwargs specified beforehand in
hiveplotlib.BaseHivePlot.connect_axes()/hiveplotlib.P2CP.build_edges()orhiveplotlib.BaseHivePlot.add_edge_kwargs()/hiveplotlib.P2CP.add_edge_kwargs()will take priority). To overwrite previously set kwargs, seehiveplotlib.BaseHivePlot.add_edge_kwargs()/hiveplotlib.P2CP.add_edge_kwargs()for more. Note, these are kwargs that affect amatplotlib.collections.LineCollection()call. Edge data values can also be used, see note above for more details.
- Returns:
matplotlibfigure, axis. If instance cannot be plotted with this function, returnsNone.
- hiveplotlib.viz.matplotlib.hive_plot_viz(hive_plot: BaseHivePlot | HivePlot, fig: Figure | None = None, ax: Axes | None = None, tags: Hashable | List[Hashable] | None = None, figsize: Tuple[float, float] = (10, 10), center_plot: bool = True, buffer: float = 0.1, show_axes_labels: bool = True, axes_labels_buffer: float = 1.1, axes_labels_fontsize: int = 16, axes_off: bool = True, node_kwargs: dict | None = None, axes_kwargs: dict | None = None, text_kwargs: dict | None = None, fig_kwargs: dict | None = None, prioritize_array_over_color: bool = True, **edge_kwargs) Tuple[Figure, Axes]#
matplotlibvisualization of aHivePlotinstance.Note
Users can provide node-specific data to plotting keyword arguments by providing column names from the
HivePlot.nodes.dataDataFrame as values in either theHivePlot.nodes.node_viz_kwargsdictionary viaHivePlot.update_node_viz_kwargs()or in this call in the providednode_kwargs.Any provided node plotting keyword arguments in
HivePlot.nodes.node_viz_kwargswill be prioritized over any providednode_kwargs.Users can provide edge-specific data to plotting keyword arguments by providing column names from the
HivePlot.edges.dataDataFrame as values to one of the following options:HivePlot.edge_plotting_keyword_argumentsattribute viaHivePlot.update_edge_plotting_keyword_arguments().HivePlot.edges.edge_viz_kwargsattribute viaHivePlot.edges.update_edge_viz_kwargs().In this call in the provided
edge_kwargs.
Edge keyword arguments will be prioritized according to the following hierarchy:
The most prioritized arguments are the arguments stored in the hive plot
hive_plot_edgesattribute, followed by the providededge_kwargs, then the edge keyword argument hierarchy set by the hive plot’sedge_kwarg_hierarchyattribute, and finally theHivePlot.edges.edge_viz_kwargs.If any keyword arguments in the
hive_plot_edgesattribute are also provided in this function’sedge_kwargs, then a warning will be raised.- Parameters:
hive_plot –
HivePlotinstance we want to visualize.fig – default
Nonebuilds new figure. If a figure is specified, hive plot will be drawn on that figure. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.ax – default
Nonebuilds new axis. If an axis is specified, hive plot will be drawn on that axis. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.tags – which tag(s) of data to plot. Default
Noneplots all tags of data. Can supply either a single tag or list of tags.figsize – size of figure. Note: only works if instantiating new figure and axes (e.g.
figandaxareNone).center_plot – whether to center the figure on
(0, 0), the currently fixed center that the axes are drawn around by default. Will only run if there is at least one axis inhive_plot.buffer – fraction of the axes past which to buffer x and y dimensions (e.g. setting
bufferto 0.1 will find the maximum radius spanned by anyAxisinstance and set the x and y bounds as(-max_radius - buffer * max_radius, max_radius + buffer * max_radius)).show_axes_labels – whether to label the hive plot axes in the figure (uses
Axis.long_namefor eachAxis.)axes_labels_buffer – fraction which to radially buffer axes labels (e.g. setting
axes_label_bufferto 1.1 will be 10% further past the end of the axis moving from the origin of the plot).axes_labels_fontsize – font size for hive plot axes labels.
axes_off – whether to turn off Cartesian x, y axes in resulting
matplotlibfigure (defaultTruehides the x and y axes).node_kwargs – additional params that will be applied to all hive plot nodes. Note, these are kwargs that affect a
plt.scatter()call. Node data values can also be used, see note above for more details.axes_kwargs – additional params that will be applied to all axes. Note, these are kwargs that affect a
plt.plot()call.text_kwargs – additional kwargs passed to
plt.text()call.fig_kwargs – additional values to be called in
plt.subplots()call. Note iffigsizeis added here, then it will be prioritized over thefigsizeparameter.prioritize_array_over_color – if both
arrayandcolorare provided by the user as edge kwargs for any subset of edges, then setting this toTruewill dropcolorand usearrayto color edges. IfFalse, will instead usecolor. DefaultTrue.edge_kwargs – additional params that will be applied to all edges on all axes (but kwargs specified beforehand in
hiveplotlib.BaseHivePlot.connect_axes()orhiveplotlib.BaseHivePlot.add_edge_kwargs()will take priority). To overwrite previously set kwargs, seehiveplotlib.BaseHivePlot.add_edge_kwargs()for more. Note, these are kwargs that affect amatplotlib.collections.LineCollection()call. Edge data values can also be used, see note above for more details.
- Returns:
matplotlibfigure, axis.
- hiveplotlib.viz.matplotlib.label_axes(instance: BaseHivePlot | HivePlot | P2CP, fig: Figure | None = None, ax: Axes | None = None, axes_labels_buffer: float = 1.1, axes_labels_fontsize: int = 16, buffer: float = 0.1, figsize: Tuple[float, float] = (10, 10), center_plot: bool = True, axes_off: bool = True, fig_kwargs: dict | None = None, **text_kwargs) Tuple[Figure, Axes] | None#
matplotlibvisualization of axis labels in aHivePlotorP2CPinstance.For
HivePlotinstances, each axis’long_nameattribute will be used. ForP2CPinstances, column names in thedataattribute will be used.- Parameters:
instance –
HivePlotorP2CPinstance for which we want to draw nodes.fig – default
Nonebuilds new figure. If a figure is specified, axis labels will be drawn on that figure. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.ax – default
Nonebuilds new axis. If an axis is specified, axis labels will be drawn on that axis. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.axes_labels_buffer – fraction which to radially buffer axes labels (e.g. setting
axes_label_bufferto 1.1 will be 10% further past the end of the axis moving from the origin of the plot).axes_labels_fontsize – font size for axes labels.
buffer – fraction of the axes past which to buffer x and y dimensions (e.g. setting
bufferto 0.1 will find the maximum radius spanned by anyAxisinstance and set the x and y bounds as(-max_radius - buffer * max_radius, max_radius + buffer * max_radius)).figsize – size of figure. Note: only works if instantiating new figure and axes (e.g.
figandaxareNone).center_plot – whether to center the figure on
(0, 0), the currently fixed center that the axes are drawn around by default. Will only run if there is at least one axis ininstance.axes_off – whether to turn off Cartesian x, y axes in resulting
matplotlibfigure (defaultTruehides the x and y axes).fig_kwargs – additional values to be called in
plt.subplots()call. Note iffigsizeis added here, then it will be prioritized over thefigsizeparameter.text_kwargs – additional kwargs passed to
plt.text()call.
- Returns:
matplotlibfigure, axis. If instance cannot be plotted with this function, returnsNone.
- hiveplotlib.viz.matplotlib.node_viz(instance: BaseHivePlot | HivePlot | P2CP, fig: Figure | None = None, ax: Axes | None = None, figsize: Tuple[float, float] = (10, 10), center_plot: bool = True, buffer: float = 0.1, axes_off: bool = True, fig_kwargs: dict | None = None, **scatter_kwargs) Tuple[Figure, Axes]#
matplotlibvisualization of nodes in aHivePlotorP2CPinstance that have been placed on its axes.Note
If
instanceis aHivePlot, then users can provide node-specific data to plotting keyword arguments by providing column names from theHivePlot.nodes.dataDataFrame as values in either theHivePlot.nodes.node_viz_kwargsdictionary viaHivePlot.update_node_viz_kwargs()or in this call in the providedscatter_kwargs.If
instanceis aHivePlot, then any provided node plotting keyword arguments inHivePlot.nodes.node_viz_kwargswill be prioritized over any providedscatter_kwargs.- Parameters:
instance –
HivePlotorP2CPinstance for which we want to draw nodes.fig – default
Nonebuilds new figure. If a figure is specified, nodes will be drawn on that figure. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.ax – default
Nonebuilds new axis. If an axis is specified, nodes will be drawn on that axis. Note: ``fig` andaxmust BOTH beNoneto instantiate new figure and axes.figsize – size of figure. Note: only works if instantiating new figure and axes (e.g.
figandaxareNone).center_plot – whether to center the figure on
(0, 0), the currently fixed center that the axes are drawn around by default. Will only run if there is at least one axis ininstance.buffer – fraction of the axes past which to buffer x and y dimensions (e.g. setting
bufferto 0.1 will find the maximum radius spanned by anyAxisinstance and set the x and y bounds as(-max_radius - buffer * max_radius, max_radius + buffer * max_radius)).axes_off – whether to turn off Cartesian x, y axes in resulting
matplotlibfigure (defaultTruehides the x and y axes).fig_kwargs – additional values to be called in
plt.subplots()call. Note iffigsizeis added here, then it will be prioritized over thefigsizeparameter.scatter_kwargs – additional params that will be applied to all hive plot nodes. Note, these are kwargs that affect a
plt.scatter()call. Node data values can also be used, see note above for more details.
- Returns:
matplotlibfigure, axis.
- hiveplotlib.viz.matplotlib.p2cp_legend(p2cp: P2CP, fig: Figure, ax: Axes, tags: Hashable | List[Hashable] | None = None, title: str = 'Tags', line_kwargs: dict | None = None, **legend_kwargs) Tuple[Figure, Axes]#
Generate a legend for a
P2CPinstance, where entries in the legend will be tags of data added to the instance.- Parameters:
p2cp –
P2CPinstance we want to visualize.fig –
matplotlibfigure on which we will draw the legend.ax –
matplotlibaxis on which we will draw the legend.tags – which tags of data to include in the legend. Default
Noneuses all tags underp2cp.tags. This can be ignored unless explicitly wanting to exclude certain tags from the legend.title – title of the legend. Default “Tags”.
line_kwargs – keyword arguments that will add to / overwrite _all_ of the legend line markers from the defaults used in the original
P2CPinstance plot. For example, if one plots a large number of lines with lowalphaand / or a smalllw, one will likely want to includeline_kwargs=dict(alpha=1, lw=2)so the representative lines in the legend are legible.legend_kwargs – additional params that will be applied to the legend. Note, these are kwargs that affect a
plt.legend()call. Default is to plot the legend in the upper right, outside of the bounding box (e.g.loc="upper left", bbox_to_anchor=(1, 1)).
- Returns:
matplotlibfigure, axis.
- hiveplotlib.viz.matplotlib.p2cp_viz(p2cp: P2CP, fig: Figure | None = None, ax: Axes | None = None, tags: Hashable | List[Hashable] | None = None, figsize: Tuple[float, float] = (10, 10), center_plot: bool = True, buffer: float = 0.1, show_axes_labels: bool = True, axes_labels_buffer: float = 1.1, axes_labels_fontsize: int = 16, axes_off: bool = True, node_kwargs: dict | None = None, axes_kwargs: dict | None = None, fig_kwargs: dict | None = None, **edge_kwargs) Tuple[Figure, Axes]#
matplotlibvisualization of aP2CPinstance.- Parameters:
p2cp –
P2CPinstance we want to visualize.fig – default
Nonebuilds new figure. If a figure is specified, P2CP will be drawn on that figure. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.ax – default
Nonebuilds new axis. If an axis is specified, P2CP will be drawn on that axis. Note:figandaxmust BOTH beNoneto instantiate new figure and axes.tags – which tag(s) of data to plot. Default
Noneplots all tags of data. Can supply either a single tag or list of tags.figsize – size of figure. Note: only works if instantiating new figure and axes (e.g.
figandaxareNone).center_plot – whether to center the figure on
(0, 0), the currently fixed center that the axes are drawn around by default. Will only run if there is at least one axis inp2cp.buffer – fraction of the axes past which to buffer x and y dimensions (e.g. setting
bufferto 0.1 will find the maximum radius spanned by anyAxisinstance and set the x and y bounds as(-max_radius - buffer * max_radius, max_radius + buffer * max_radius)).show_axes_labels – whether to label the P2CP axes in the figure (uses
Axis.long_namefor eachAxis.)axes_labels_buffer – fraction which to radially buffer axes labels (e.g. setting
axes_label_bufferto 1.1 will be 10% further past the end of the axis moving from the origin of the plot).axes_labels_fontsize – font size for P2CP axes labels.
axes_off – whether to turn off Cartesian x, y axes in resulting
matplotlibfigure (defaultTruehides the x and y axes).node_kwargs – additional params that will be applied to all points on axes. Note, these are kwargs that affect a
plt.scatter()call.axes_kwargs – additional params that will be applied to all axes. Note, these are kwargs that affect a
plt.plot()call.fig_kwargs – additional values to be called in
plt.subplots()call. Note iffigsizeis added here, then it will be prioritized over thefigsizeparameter.edge_kwargs – additional params that will be applied to all edges on all axes (but kwargs specified beforehand in
hiveplotlib.P2CP.build_edges()orhiveplotlib.P2CP.add_edge_kwargs()will take priority). To overwrite previously set kwargs, seehiveplotlib.P2CP.add_edge_kwargs()for more. Note, these are kwargs that affect amatplotlib.collections.LineCollection()call.
- Returns:
matplotlibfigure, axis.