This page is documentation for a DEVELOPMENT / PRE-RELEASE version. Switch to stable version
logo
  • 安装
  • 教程
  • 参考文献
  • 释放
  • 开发商
  • 绘图示例
  • Guides
    • devel (latest)
    • current (stable)
  • 属性
  • 读写图表。
  • 简单图
  • 国际象棋大师
  • 自定义节点图标
  • 学位分析
  • 有向图
  • 边色图
  • 自我图
  • 本征值
  • 四网格
  • 有颜色的房子
  • 克努斯英里
  • 标签和颜色
  • 多部分布局
  • 节点色图
  • 彩虹上色
  • 随机几何图形
  • 桑普森
  • 自环
  • 简单路径
  • 谱嵌入
  • 旅行商问题
  • UNIX电子邮件
  • 赋权图
  • 梅亚维2
  • 基本Matplotlib
  • 阿特拉斯
  • 圆树
  • 分解
  • 巨型构件
  • Lanl路线
  • 属性
  • 转换
  • 二维网格
  • 阿特拉斯
  • 度序列
  • 鄂尔多斯仁义
  • 期望度序列
  • 足球
  • 空手道
  • 拿破仑俄国战役
  • 罗格特
  • 文字/阶梯图
  • 波束搜索
  • 中间性中心性
  • 块模型
  • 电路
  • 戴维斯俱乐部
  • 脱敏
  • 迭代动力系统
  • 克拉克哈特中心性
  • 平行中间值
  • 反向Cuthill--McKee
  • 捕捉图摘要
  • 子图
  • JavaScript
  • 字形
  • 基于地理点的Delaunay图
  • 来自一组线的图形
  • 使用OSMnx的OpenStreetMap
  • 来自地理点的图表
  • 来自多边形的图表
  • 反图
  • 打印图

备注

点击 here 下载完整的示例代码

打印图#

graph类的示例子类。

plot printgraph

出:

Add node: foo
Add node: b
Add node: a
Add node: r
Remove node: b
Remove node: a
Remove node: r
Nodes in G:  [('foo', {'attr_dict': None})]
Add edge: 0-1
Edges in G:  [(0, 1, {'attr_dict': None, 'weight': 10})]
Remove edge: 0-1
Add edge: 0-1
Add edge: 1-2
Add edge: 2-3
Edges in G:  [(0, 1, {'attr_dict': None, 'weight': 10}), (1, 2, {'attr_dict': None, 'weight': 10}), (2, 3, {'attr_dict': None, 'weight': 10})]
Remove edge: 0-1
Remove edge: 1-2
Remove edge: 2-3
Edges in G:  []
Add node: 0
Add edge: 0-1
Add edge: 1-2
Add edge: 2-3
Add edge: 3-4
Add edge: 4-5
Add edge: 5-6
Add edge: 6-7
Add edge: 7-8
Add edge: 8-9
Add node: 9
Add edge: 9-10
Add edge: 9-11
Add edge: 9-12

import matplotlib.pyplot as plt
import networkx as nx
from networkx import Graph


class PrintGraph(Graph):
    """
    Example subclass of the Graph class.

    Prints activity log to file or standard output.
    """

    def __init__(self, data=None, name="", file=None, **attr):
        super().__init__(data=data, name=name, **attr)
        if file is None:
            import sys

            self.fh = sys.stdout
        else:
            self.fh = open(file, "w")

    def add_node(self, n, attr_dict=None, **attr):
        super().add_node(n, attr_dict=attr_dict, **attr)
        self.fh.write(f"Add node: {n}\n")

    def add_nodes_from(self, nodes, **attr):
        for n in nodes:
            self.add_node(n, **attr)

    def remove_node(self, n):
        super().remove_node(n)
        self.fh.write(f"Remove node: {n}\n")

    def remove_nodes_from(self, nodes):
        for n in nodes:
            self.remove_node(n)

    def add_edge(self, u, v, attr_dict=None, **attr):
        super().add_edge(u, v, attr_dict=attr_dict, **attr)
        self.fh.write(f"Add edge: {u}-{v}\n")

    def add_edges_from(self, ebunch, attr_dict=None, **attr):
        for e in ebunch:
            u, v = e[0:2]
            self.add_edge(u, v, attr_dict=attr_dict, **attr)

    def remove_edge(self, u, v):
        super().remove_edge(u, v)
        self.fh.write(f"Remove edge: {u}-{v}\n")

    def remove_edges_from(self, ebunch):
        for e in ebunch:
            u, v = e[0:2]
            self.remove_edge(u, v)

    def clear(self):
        super().clear()
        self.fh.write("Clear graph\n")


G = PrintGraph()
G.add_node("foo")
G.add_nodes_from("bar", weight=8)
G.remove_node("b")
G.remove_nodes_from("ar")
print("Nodes in G: ", G.nodes(data=True))
G.add_edge(0, 1, weight=10)
print("Edges in G: ", G.edges(data=True))
G.remove_edge(0, 1)
G.add_edges_from(zip(range(0, 3), range(1, 4)), weight=10)
print("Edges in G: ", G.edges(data=True))
G.remove_edges_from(zip(range(0, 3), range(1, 4)))
print("Edges in G: ", G.edges(data=True))

G = PrintGraph()
nx.add_path(G, range(10))
nx.add_star(G, range(9, 13))
pos = nx.spring_layout(G, seed=225)  # Seed for reproducible layout
nx.draw(G, pos)
plt.show()

Total running time of the script: ( 0 minutes 0.049 seconds)

Download Python source code: plot_printgraph.py

Download Jupyter notebook: plot_printgraph.ipynb

Gallery generated by Sphinx-Gallery

© Copyright 2004-2022, NetworkX Developers.

Created using Sphinx 4.5.0.