GithubHelp home page GithubHelp logo

networkx / grave Goto Github PK

View Code? Open in Web Editor NEW
95.0 95.0 29.0 5.55 MB

Grave—dead simple graph visualization

Home Page: https://networkx.github.io/grave/

License: Other

Python 99.96% Makefile 0.04%
graph-visualization networkx python

grave's Introduction

NetworkX

image

image

image

NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

Simple example

Find the shortest path between two nodes in an undirected graph:

>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_edge("A", "B", weight=4)
>>> G.add_edge("B", "D", weight=2)
>>> G.add_edge("A", "C", weight=3)
>>> G.add_edge("C", "D", weight=4)
>>> nx.shortest_path(G, "A", "D", weight="weight")
['A', 'B', 'D']

Install

Install the latest version of NetworkX:

$ pip install networkx

Install with all optional dependencies:

$ pip install networkx[all]

For additional details, please see INSTALL.rst.

Bugs

Please report any bugs that you find here. Or, even better, fork the repository on GitHub and create a pull request (PR). We welcome all changes, big or small, and we will help you make the PR if you are new to git (just ask on the issue and/or see CONTRIBUTING.rst).

License

Released under the 3-Clause BSD license (see LICENSE.txt):

Copyright (C) 2004-2024 NetworkX Developers
Aric Hagberg <[email protected]>
Dan Schult <[email protected]>
Pieter Swart <[email protected]>

grave's People

Contributors

camillescott avatar choldgraf avatar cj-wright avatar dschult avatar ivanov avatar jarrodmillman avatar kolmiw avatar nellev avatar rossbar avatar tacaswell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grave's Issues

Release

Would it be possible to get a release so I can put this up on conda-forge?

Broke RTD

I will switch the doc hosting to GH pages since I want more control than RTD provides. I'll take care of it on Sunday. I already checked that it was OK with Chris (since I heard he advocated using RTD to get quickly going during the sprint).

nx_altair--networkx graphs in Altair

Hi y'all,

I'm sort of injecting myself in the conversation in #25 here between @ericmjl, @tacaswell and @jarrodmillman. I was reading through that thread and thought y'all might find nx_altair interesting.
(link to repo: https://github.com/Zsailer/nx_altair)

This package mimics the networkx.draw APIs but renders the figures as Altair Charts. To do that, nx_altair internally ports the Graph to pandas.DataFrames (separate dataframes for the nodes and the edges) and constructs a set of visualization declarations on those DataFrames. (I should admit, nx_altair was an afternoon hack that I created as a concept piece.)

I agree with @tacaswell's comments on "declarative" styling in #25. When it works, it works well. However, it can require a high level of understanding of the data.

I will say, though--porting graphs to dataframes+altair does open some interesting benefits for exploring network data. In nx_altair, any attribute attached to the nodes/edges is automatically added as a column in the DataFrames and can be easily mapped onto the Altair visualization. It's an interesting avenue for exploring networks interactively.

Anyhow, I'll be watching this project closely to help guide the "network grammar" used in nx_altair moving forward! Thanks!

pip package is empty

The package currently on pip is empty:

| => pip search grave
GraVE (0.0.1)  - Dead simple graph visualization
________________________________________________________________________________
| => pip install grave
Collecting grave
  Using cached https://files.pythonhosted.org/packages/89/d4/4c6ac1d8a47302f330a6407f65f5db66a04b7ecc83dd490165daecf646da/GraVE-0.0.1-py3-none-any.whl
Installing collected packages: grave
Successfully installed grave-0.0.1
________________________________________________________________________________
| => python
Python 3.6.5 (default, Jun  2 2018, 13:27:56)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import grave
>>> dir(grave)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']

summary statistic plotting

During the brainstorming process we discussed supporting plots of summary statistics. Let's consider some possibilities...

  • degree distribution: like plot_degree_dist(network, kde=False, ...)
  • distribution of arbitrary node/edge attribute: plot_node_attribute(network, 'weight', kind='kde', ...)
  • adj matrix: plot_adjacency_matrix(network, **heatmap_args)

Please add more as you think of them!

nxviz <> grave

Friends! I noticed this pop up as I was browsing around GitHub.

I've been developing a package since 2016 (after I met @hagberg at SciPy 2016). It's called nxviz, and it's designed to provide a declarative (i.e. seaborn-style) API to draw graphs in a rational fashion. Included at the moment are ArcPlots, MatrixPlots and CircosPlots.

I'm hoping to not have duplicated efforts in any place, and I'd love to see how we could work together. Please let me know!

Create mailing list?

We could use the networkx mailing list, but it may make more sense to create a new one. If so, I prefer mailman over google groups and suggest we use:
https://mail.python.org/mailman/listinfo/grave

I am not sure we need multiple mailing lists. It seems more and more developer conversations are moving to GH and an increasing number of user conversations are moving to stackoverflow. We could create grave-devel and grave-users, if folks prefer.

Thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.