cmu-phil / tetrad

Repository for the Tetrad Project, www.phil.cmu.edu/tetrad.
GNU General Public License v2.0
398 stars 110 forks source link

Large graphs are too big and render off screen when initially loaded #1697

Closed bja43 closed 10 months ago

bja43 commented 10 months ago

[THIS ISSUE IS IN THE DEVELOPMENT BRANCH]

When loading a large graph, the default circle layout renders it entirely off screen, making it seem like nothing was loaded. The only thing that identifies that a graph has been loaded are the x and y scroll bars. If you use these bars to scroll left, then the graph becomes visible. In the attached images, I loaded a graph with 758 nodes.

After initial load:

Screenshot 2023-10-09 at 10 09 24 AM

After scrolling left:

Screenshot 2023-10-09 at 10 09 44 AM
jdramsey commented 10 months ago

I think a good solution is to make the "square layout" the default layout, at least for large graphs. We used to render a large graph as a small circle that could fit into the display box, but the problem there was you could not see or select all of the variables since they were all rendered on top of one another. So we made the circle big enough to be able to see all of the variables, and now there's this problem. The square layout solves the problem since there are always some variables in the top left portion of the layout.

So, TODO: Make the square layout the default layout for large graphs.

jdramsey commented 10 months ago

Plan: Make circle layout the default layout for up to 20 variables, and square layout for larger graphs.

cg09 commented 10 months ago

Lingam will not run with missing data filled with asterisks. Direct lingam will. How come and can it be fixed?

On Mon, Oct 9, 2023 at 11:38 AM Joseph Ramsey @.***> wrote:

I think a good solution is to make the "square layout" the default layout, at least for large graphs. We used to render a large graph as a small circle that could fit into the display box, but the problem there was you could not see or select all of the variables since they were all rendered on top of one another. So we made the circle big enough to be able to see all of the variables, and now there's this problem. The square layout solves the problem since there are always some variables in the top left portion of the layout.

So, TODO: Make the square layout the default layout for large graphs.

— Reply to this email directly, view it on GitHub https://github.com/cmu-phil/tetrad/issues/1697#issuecomment-1753243557, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4Y3OMMSPEPZWSXYTAUTYDX6QLANAVCNFSM6AAAAAA5Y65LU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJTGI2DGNJVG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bja43 commented 10 months ago

I would guess that's an issue with the ICA implementation, but I think @jdramsey would know for sure. Does LiNG-D work when there are missing data?

jdramsey commented 10 months ago

OK I fixed the layout issue in Tetrad by making the default layout circle if # nodes <= 20 and square otherwise, so you don't get apparently empty graphs with the circle layout. Closing.

@cg09 Can you make a separate issue for the missing value problem?