Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poor behavior for plot yields no data cases #19893

Open
markcmiller86 opened this issue Oct 10, 2024 · 6 comments
Open

Poor behavior for plot yields no data cases #19893

markcmiller86 opened this issue Oct 10, 2024 · 6 comments
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood

Comments

@markcmiller86
Copy link
Member

Describe the bug

  1. Open globe.silo
  2. Put up mesh plot of mesh
  3. Open rect3d.silo
  4. Put up Pseudocolor plot of d
  5. Draw

Note that you get the rect3d box down inside the center of globe.silo. That is fine. With the globe mesh plot opaque mode in auto, it will display wireframe to reveal the pc plot.

Ok, now lets use threshold to create a plot yielded no data condition. Add threshold operator to just the PC plot of d. Set min of operator above the max value in d, say 1. Hit apply.

You get the plot yielded no data message...which is fine. But, you also get the legend and color bar for the PC plot and you get the wireframe mesh plot of globe.silo. In other words, even though VisIt has told you that the plot has no data, it nonetheless is treating the plot like it does have data.

What it should do is NOT display the legend and color bar (it might be ok to show something like Pseudocolor: no data as a legend) and the mesh plot should not go into wireframe mode. In fact, I think having the legend display Pseudocolor: no data and NOT put up the warning about plot yielded no data is probably a much better behavior IN GENERAL.

@markcmiller86 markcmiller86 added bug Something isn't working likelihood medium Neither low nor high likelihood impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) labels Oct 10, 2024
@markcmiller86
Copy link
Member Author

This originates from @nDimensionalSpace

@markcmiller86
Copy link
Member Author

@nDimensionalSpace, a clumsy work-around in the meantime is to manually set the mesh plot's opaque mode to on and hide the no-data Pseudcolor plot.

If its a big enough issue, we can probably craft some Python CLI code that might provide a 1-button click solution for this as a macro in the GUI. Call it Patchup No Data Plots. A user could just hit that macro button once. The CLI code would introspect the plots present and adjust settings to have the intended effect. I think that is possible.

@cyrush
Copy link
Member

cyrush commented Oct 14, 2024

Screenshot 2024-10-14 at 8 01 58 AM

Even with only one plot that has been thresholded away, you still see the legend and even the spatial dataset bounds.
PC legend will show the full data extents, and the axes will show the full dataset bounds.

Can be helpful when folks make a mistake with filter parameters.
If the plot info reports they plot is empty, then use CLI to hide?

@nDimensionalSpace
Copy link

@nDimensionalSpace, a clumsy work-around in the meantime is to manually set the mesh plot's opaque mode to on and hide the no-data Pseudcolor plot.

If its a big enough issue, we can probably craft some Python CLI code that might provide a 1-button click solution for this as a macro in the GUI. Call it Patchup No Data Plots. A user could just hit that macro button once. The CLI code would introspect the plots present and adjust settings to have the intended effect. I think that is possible.

@markcmiller86: Clearly, there are ways to manage this manually . . . I will note that the use case for this observation seemed to be animations/movies.

I don't think the person who noticed this is in a huge hurry, so no heroic efforts are required.

I will post some screenshots shortly.

@nDimensionalSpace
Copy link

Screenshot 2024-10-14 at 8 01 58 AM

Even with only one plot that has been thresholded away, you still see the legend and even the spatial dataset bounds. PC legend will show the full data extents, and the axes will show the full dataset bounds.

Can be helpful when folks make a mistake with filter parameters. If the plot info reports they plot is empty, then use CLI to hide?

@cyrush: Oh interesting . . . If I understand correctly, these behaviors are meant to address another use case, where a state of zero length data is induced accidentally. Maybe there should exist a flag to indicate whether the data writer is intentionally writing zero length data; if intentional, don't do all of the screen modifications, otherwise, yes do screen modifications.

@nDimensionalSpace
Copy link

As follows:

  • fig1: some quantity of interest, looking as intended,
  • fig2: the same quantity of interest in a "disabled" state, and the way that that is currently depicted in visit (with colorbar, and with wireframe mesh), and
  • fig3: the same quantity of interest when hidden by the user.

I guess the whole point here is that the state of the data that currently visualizes like "fig2" should look more like that of "fig3", at least for cases where the field values of a variable have been intentionally omitted.

fig1_quantity_exists_and_plotted

fig2_quantity_not_exists_and_plotted

fig3_quantity_not_plotted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood
Projects
None yet
Development

No branches or pull requests

3 participants