Skip to main content

Produces a low-dimensional representation of the input graph

Project description

Produces a low-dimensional representation of the input graph.

Calculates the ECTD [1] of the graph and reduces its dimension using PCA. The result is an embedding of the graph nodes as vectors in a low-dimensional space.

Usage

Get a 2D PCA of a high-dimensional graph and plot it.

>>> import networkx as nx
>>> import graphpca
>>> g = nx.erdos_renyi_graph(1000, 0.2)
>>> g_2 = graphpca.reduce_graph(g, 2)
>>> graphca.plot_2d(g_2)
output/erg-1000.png

Draw a graph, including edges, from a mat file

>>> import scipy.io
>>> import networkx as nx
>>> import graphpca
>>> mat = scipy.io.loadmat('test/bcspwr01.mat')
>>> A = mat['Problem'][0][0][1].todense()  # that's just how it came
>>> G = nx.from_numpy_matrix(A)
>>> graphpca.draw_graph(G)
output/bcspwr01-drawing.png

Contributing

Feel free to fork me and create a pull request at https://github.com/brandones/graphpca

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphpca-0.4.tar.gz (4.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page