跳转到主要内容

使用Altair绘制NetworkX图

项目描述

nx_altair

使用Altair绘制NetworkX图

Gitter chat

nx_altair 提供了与NetworkX类似的 draw API,但返回的是Altair图表。

如果您想贡献,请加入 Gitter聊天室 并分享您的想法!还可以查看下面的 待办事项列表

示例

如果您想开始使用nx_altair,请下载 这个笔记本

简单图

import networkx as nx
import nx_altair as nxa

# Generate a random graph
G = nx.fast_gnp_random_graph(n=20, p=0.25)

# Compute positions for viz.
pos = nx.spring_layout(G)

# Draw the graph using Altair
viz = nxa.draw_networkx(G, pos=pos)

# Show it as an interactive plot!
viz.interactive()

利用Altair

自定义可视化

nx_altair 也支持许多与NetworkX相同的样式化网络参数——带有Altair风格!以声明性方式映射可视化属性。

import numpy as np

# Add weights to nodes and edges
for n in G.nodes():
    G.nodes[n]['weight'] = np.random.randn()

for e in G.edges():
    G.edges[e]['weight'] = np.random.uniform(1, 10)


# Draw the graph using Altair
viz = nxa.draw_networkx(
    G, pos=pos,
    node_color='weight',
    cmap='viridis',
    width='weight',
    edge_color='black',
)

# Show it as an interactive plot!
viz.interactive()

安装

从PyPI安装

pip install nx_altair

为开发安装,克隆此仓库并使用pip安装

pip install -e .

贡献

我们欢迎拉取请求!如果您发现错误,我们希望您提交一个PR。如果您不确定如何操作,请查看此 简单指南

如果您有功能请求,请打开问题或提交PR!

待办事项列表

待办事项列表(好的PR想法)。

  • 添加与networkx镜像的 draw 方法(简单)
  • 节点颜色范围 vmix, vmax(简单)
  • 边颜色范围 vmix, vmax(简单)
  • 节点标签(中等)
  • 边标签(中等)
  • 鼠标悬停交互性(中等)
  • 边的箭头(困难)
  • 支持大型(>1000条边)网络(困难)
  • 力导向交互性(非常困难——超出Altair当前支持的范围)。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

nx_altair-0.1.6.tar.gz (8.5 kB 查看哈希值)

上传时间

构建分布

nx_altair-0.1.6-py3-none-any.whl (7.9 kB 查看哈希值)

上传时间 Python 3

由以下支持