Giter VIP home page Giter VIP logo

Comments (1)

madelynshapiro avatar madelynshapiro commented on June 7, 2024

Thank you for raising this issue; for general information on draw, please refer to the documentation and Tutorial 2 - Visualization Methods.

There are several methods for customizing the layout of a hypergraph when using draw. From the documentation:

The default layout algorithm is nx.spring_layout, but other layouts can be passed in. The Hypergraph is converted to a bipartite graph, and the layout algorithm is passed the bipartite graph.
If you have a pre-determined layout, you can pass in a pos dictionary. This is a dictionary mapping from node id’s to x-y coordinates. For example:

pos = {
'A': (0, 0),
'B': (1, 2),
'C': (5, -3)
}

will position the nodes {A, B, C} manually at the locations specified. The coordinate system is in Matplotlib “data coordinates”, and the figure will be centered within the figure.

For small layout adjustments on simple hypergraphs like the one in your example, I recommend doing something like this:

# get the positions for the default layout
pos = hnx.draw(H, return_pos=True)

# for the sake of this example, assume that the original position of the fst_score node is (1,1)
# we want to move it up and to the right, so increase the value of both coordinates
pos['fst_score'] = (2,2)

# redraw the hypergraph using the updated custom layout
hnx.draw(H, pos=pos)

You may need to play around a bit with the updated custom coordinates to achieve your desired layout. Feel free to follow up with specifics/code for your example if you'd like additional support!

from hypernetx.

Related Issues (20)

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.