Skip to content

Commit

Permalink
pushing notebook
Browse files Browse the repository at this point in the history
  • Loading branch information
Giancarlo Perrone committed Apr 11, 2019
1 parent 2c13d3f commit aa71a2a
Showing 1 changed file with 325 additions and 0 deletions.
325 changes: 325 additions & 0 deletions notebooks/example.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,325 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"from pyvis.network import Network"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Basic Example"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"500px\"\n",
" height=\"500px\"\n",
" src=\"example.html\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x1f0e3ec32b0>"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g = Network(notebook=True)\n",
"g.add_nodes(range(5))\n",
"g.add_edges([\n",
" (0, 2),\n",
" (0, 3),\n",
" (0, 4),\n",
" (1, 1),\n",
" (1, 3),\n",
" (1, 2)\n",
"])\n",
"g.show(\"example.html\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Basic NetworkX example"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"import networkx as nx"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"500px\"\n",
" height=\"500px\"\n",
" src=\"example.html\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x1f0e3edc198>"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nxg = nx.random_tree(20)\n",
"g.from_nx(nxg)\n",
"g.show(\"example.html\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Disabling Physics interaction"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"500px\"\n",
" height=\"500px\"\n",
" src=\"example.html\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x1f0e3e9d588>"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g.toggle_physics(False)\n",
"g.show(\"example.html\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Explicit coordinates to layout nodes"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"500px\"\n",
" height=\"500px\"\n",
" src=\"example.html\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x1f0e4f15320>"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g = Network(notebook=True)\n",
"g.add_nodes([1,2,3],\n",
" value=[10, 100, 400],\n",
" title=[\"I am node 1\", \"node 2 here\", \"and im node 3\"],\n",
" x=[21.4, 21.4, 21.4], y=[100.2, 223.54, 32.1],\n",
" label=[\"NODE 1\", \"NODE 2\", \"NODE 3\"],\n",
" color=[\"#00ff1e\", \"#162347\", \"#dd4b39\"])\n",
"g.show(\"example.html\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Full Game of Thrones example"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"100%\"\n",
" height=\"750px\"\n",
" src=\"example.html\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x1f0e4ec3dd8>"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"got_net = Network(notebook=True, height=\"750px\", width=\"100%\", bgcolor=\"#222222\", font_color=\"white\")\n",
"\n",
"# set the physics layout of the network\n",
"got_net.barnes_hut()\n",
"got_data = pd.read_csv(\"https://www.macalester.edu/~abeverid/data/stormofswords.csv\")\n",
"\n",
"sources = got_data['Source']\n",
"targets = got_data['Target']\n",
"weights = got_data['Weight']\n",
"\n",
"edge_data = zip(sources, targets, weights)\n",
"\n",
"for e in edge_data:\n",
" src = e[0]\n",
" dst = e[1]\n",
" w = e[2]\n",
"\n",
" got_net.add_node(src, src, title=src)\n",
" got_net.add_node(dst, dst, title=dst)\n",
" got_net.add_edge(src, dst, value=w)\n",
"\n",
"neighbor_map = got_net.get_adj_list()\n",
"\n",
"# add neighbor data to node hover data\n",
"for node in got_net.nodes:\n",
" node[\"title\"] += \" Neighbors:<br>\" + \"<br>\".join(neighbor_map[node[\"id\"]])\n",
" node[\"value\"] = len(neighbor_map[node[\"id\"]]) # this value attrribute for the node affects node size\n",
"\n",
"got_net.show(\"example.html\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Experimenting with options UI\n",
"Scroll down underneath the graph to play around with the physics settings to acheive optimal layout and behavior. You can use the generate options button to display the JSON representation of the configuration."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"100%\"\n",
" height=\"750px\"\n",
" src=\"example.html\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x1f0e541e390>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"got_net.show_buttons(filter_=\"physics\")\n",
"got_net.show(\"example.html\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

0 comments on commit aa71a2a

Please sign in to comment.