可视化
可视化工具。
图形
- sknetwork.visualization.graphs.visualize_graph(adjacency: csr_matrix | None = None, position: ndarray | None = None, names: ndarray | None = None, labels: Iterable | None = None, name_position: str = 'right', scores: Iterable | None = None, probs: ndarray | csr_matrix | None = None, seeds: list | dict | None = None, width: float | None = 400, height: float | None = 300, margin: float = 20, margin_text: float = 3, scale: float = 1, node_order: ndarray | None = None, node_size: float = 7, node_size_min: float = 1, node_size_max: float = 20, display_node_weight: bool | None = None, node_weights: ndarray | None = None, node_width: float = 1, node_width_max: float = 3, node_color: str = 'gray', display_edges: bool = True, edge_labels: list | None = None, edge_width: float = 1, edge_width_min: float = 0.5, edge_width_max: float = 20, display_edge_weight: bool = False, edge_color: str | None = None, label_colors: Iterable | None = None, font_size: int = 12, directed: bool | None = None, filename: str | None = None) str [source]
以 SVG 格式返回图形的图像。
- 参数:
adjacency – 图的邻接矩阵。
position – 节点的坐标。
names – 节点的名称。
labels – 节点的标签(负值表示没有标签)。
name_position – 名称的位置(left、right、above、below)
scores – 节点的分数(重要性的度量)。
probs – 标签上的概率分布。
seeds – 要突出显示的节点(如果为字典,则仅考虑键)。
width – 图像的宽度。
height – 图像的高度。
margin – 图像的边距。
margin_text – 节点和文本之间的边距。
scale – 图像尺寸的乘法因子。
node_order – 节点显示顺序。
node_size – 节点大小。
node_size_min – 节点最小尺寸。
node_size_max – 节点最大尺寸。
node_width – 节点圆形宽度。
node_width_max – 节点圆形最大宽度。
node_color – 节点默认颜色(svg 颜色)。
display_node_weight – 如果
True
,通过节点大小显示节点权重。node_weights – 节点权重。
display_edges – 如果
True
,显示边。edge_labels – 边的标签,作为元组列表(源,目标,标签)。
edge_width – 边的宽度。
edge_width_min – 边的最小宽度。
edge_width_max – 边的最大宽度。
display_edge_weight – 如果
True
,通过边宽度显示边权重。edge_color – 边的默认颜色(svg 颜色)。
label_colors – 标签的颜色(svg 颜色)。
font_size – 字号。
directed – 如果
True
,将图视为有向图。filename – 保存图像的文件名(可选)。
- 返回值:
image – SVG 图像。
- 返回值类型:
str
示例
>>> from sknetwork.data import karate_club >>> graph = karate_club(True) >>> adjacency = graph.adjacency >>> position = graph.position >>> from sknetwork.visualization import visualize_graph >>> image = visualize_graph(adjacency, position) >>> image[1:4] 'svg'
- sknetwork.visualization.graphs.visualize_bigraph(biadjacency: csr_matrix, names_row: ndarray | None = None, names_col: ndarray | None = None, labels_row: dict | ndarray | None = None, labels_col: dict | ndarray | None = None, scores_row: dict | ndarray | None = None, scores_col: dict | ndarray | None = None, probs_row: ndarray | csr_matrix | None = None, probs_col: ndarray | csr_matrix | None = None, seeds_row: list | dict | None = None, seeds_col: list | dict | None = None, position_row: ndarray | None = None, position_col: ndarray | None = None, reorder: bool = True, width: float | None = 400, height: float | None = 300, margin: float = 20, margin_text: float = 3, scale: float = 1, node_size: float = 7, node_size_min: float = 1, node_size_max: float = 20, display_node_weight: bool = False, node_weights_row: ndarray | None = None, node_weights_col: ndarray | None = None, node_width: float = 1, node_width_max: float = 3, color_row: str = 'gray', color_col: str = 'gray', label_colors: Iterable | None = None, display_edges: bool = True, edge_labels: list | None = None, edge_width: float = 1, edge_width_min: float = 0.5, edge_width_max: float = 10, edge_color: str = 'black', display_edge_weight: bool = True, font_size: int = 12, filename: str | None = None) str [source]
以 SVG 格式返回二部图的图像。
- 参数:
biadjacency – 图的二部邻接矩阵。
names_row – 行的名称。
names_col – 列的名称。
labels_row – 行的标签(负值表示没有标签)。
labels_col – 列的标签(负值表示没有标签)。
scores_row – 行的分数(重要性度量)。
scores_col – 列的分数(重要性度量)。
probs_row – 行的标签概率分布。
probs_col – 列的标签概率分布。
seeds_row – 要突出显示的行(如果为字典,则仅考虑键)。
seeds_col – 要突出显示的列(如果为字典,则仅考虑键)。
position_row – 行的位置。
position_col – 列的位置。
reorder – 使用聚类对节点进行排序。
width – 图像的宽度。
height – 图像的高度。
margin – 图像的边距。
margin_text – 节点和文本之间的边距。
scale – 图像尺寸的乘法因子。
node_size – 节点大小。
node_size_min – 节点最小尺寸。
node_size_max – 节点最大尺寸。
display_node_weight – 如果
True
,通过节点大小显示节点权重。node_weights_row – 行的权重(仅在 display_node_weight 为
True
时使用)。node_weights_col – 列的权重(仅在 display_node_weight 为
True
时使用)。node_width – 节点圆形宽度。
node_width_max – 节点圆形最大宽度。
color_row – 行的默认颜色(svg 颜色)。
color_col – 列的默认颜色(svg 颜色)。
label_colors – 标签的颜色(svg 颜色)。
display_edges – 如果
True
,显示边。edge_labels – 边的标签,作为元组列表(源,目标,标签)。
edge_width – 边的宽度。
edge_width_min – 边的最小宽度。
edge_width_max – 边的最大宽度。
display_edge_weight – 如果
True
,通过边宽度显示边权重。edge_color – 边的默认颜色(svg 颜色)。
font_size – 字号。
filename – 保存图像的文件名(可选)。
- 返回值:
image – SVG 图像。
- 返回值类型:
str
示例
>>> from sknetwork.data import movie_actor >>> biadjacency = movie_actor() >>> from sknetwork.visualization import visualize_bigraph >>> image = visualize_bigraph(biadjacency) >>> image[1:4] 'svg'
树状图
- sknetwork.visualization.dendrograms.visualize_dendrogram(dendrogram: ndarray, names: ndarray | None = None, rotate: bool = False, width: float = 400, height: float = 300, margin: float = 10, margin_text: float = 5, scale: float = 1, line_width: float = 2, n_clusters: int = 2, color: str = 'black', colors: Iterable | None = None, font_size: int = 12, reorder: bool = False, rotate_names: bool = True, filename: str | None = None)[source]
以 SVG 格式返回树状图的图像。
- 参数:
dendrogram – 要显示的树状图。
names – 叶子的名称。
rotate – 如果
True
,旋转树,使根节点位于左侧。width – 图像宽度(不包括边距)。
height – 图像高度(不包括边距)。
margin – 边距。
margin_text – 叶节点与其名称之间的边距(如果有)。
scale – 缩放比例。
line_width – 线宽。
n_clusters – 要显示的彩色聚类数量。
color – 树状图的默认 SVG 颜色。
colors – 树状图的聚类 SVG 颜色(可选)。
font_size – 字号。
reorder – 如果
True
,重新排序叶子,使左子树的叶子数量多于右子树。rotate_names – 如果
True
,旋转叶子节点的名称(仅在 rotate 为False
时有效)。filename – 保存图像的文件名(可选)。
示例
>>> dendrogram = np.array([[0, 1, 1, 2], [2, 3, 2, 3]]) >>> from sknetwork.visualization import svg_dendrogram >>> image = svg_dendrogram(dendrogram) >>> image[1:4] 'svg'