I am trying to open an HTML file using python - pyviz

3.5k views Asked by At

I am trying to use the pyvis library to show py network using the following code:

import numpy as np
import networkx as nx
from pyvis.network import Network

adjacency_matrix = [[0.5, 0.2, 0.3, 0], [0.1, 0.1, 0, 0.8], [0.3, 0, 0.4, 0.3], [0, 0.2, 0.2, 0.6]]
A = np.array(adjacency_matrix)
G = nx.from_numpy_matrix(A, create_using=nx.MultiDiGraph)
G2 = Network()
G2.from_nx(G)
G2.show('network_map.html')

I am not getting any error but this code is supposed to open a browser with the html file network_map.html to show the network, but there is no response from the program.

I am using Atom, with a virtual python env I created on my mac using a simple python3.8 -m venv ...

when I run the program in the terminal nothing happens but when I click on the created html file in my folder I can see the network.

can anyone help me with making the network automatically open in browser?

2

There are 2 answers

1
RPIDevelop On

Where is your HTML file? If its not in the same folder as your program, you'll have to use a direct path such as /Desktop/Your-folder/your-file

0
mlcanales On

If you want to display it in the same cell, use the option notebook=True (See below):

import networkx as nx
from pyvis import network as net

adjacency_matrix = [[0.5, 0.2, 0.3, 0], [0.1, 0.1, 0, 0.8], [0.3, 0, 0.4, 0.3], [0, 0.2, 0.2, 0.6]]
A = np.array(adjacency_matrix)
G = nx.from_numpy_matrix(A, create_using=nx.MultiDiGraph)
G2 = net.Network(notebook=True)
G2.from_nx(G)
G2.show('network_map.html')

Also, be sure that the notebook file (.ipynb) is in the same folder as the working directory. You can use the OS module to change directory: os.chdir(path_to_where_jupyter_notebook_is)