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

Improve Custom Plots #3373

Closed
16 tasks done
julieg18 opened this issue Mar 1, 2023 · 11 comments
Closed
16 tasks done

Improve Custom Plots #3373

julieg18 opened this issue Mar 1, 2023 · 11 comments
Assignees
Labels
A: plots Area: plots webview, side panel and everything related enhancement New feature or request

Comments

@julieg18
Copy link
Contributor

julieg18 commented Mar 1, 2023

Tasks are sorted by importance.

Tasks

Preview Give feedback

Followup to #3342

@julieg18 julieg18 added enhancement New feature or request A: plots Area: plots webview, side panel and everything related labels Mar 1, 2023
@julieg18 julieg18 self-assigned this Mar 1, 2023
@mattseddon
Copy link
Member

mattseddon commented Mar 2, 2023

Addition of a custom plot with no experiments present breaks the empty state screen:

Screen.Recording.2023-03-02.at.12.26.27.pm.mov

Edit: doesn't seem like the empty screen is accessible at all now.

@mattseddon
Copy link
Member

Lower priority but we should change "iteration" to step and make it 0 based (same as DVCLive) for the checkpoint trends plots:

image

@julieg18
Copy link
Contributor Author

Add commit data into custom plots

@mattseddon, what do you mean by commit data? I know we have rows that we refer to as commits but custom plots rely on experiments 🤔

@mattseddon
Copy link
Member

Add commit data into custom plots

@mattseddon, what do you mean by commit data? I know we have rows that we refer to as commits but custom plots rely on experiments 🤔

Regarding custom plots (not trends) commits and experiments contain the same data. Is there a reason to exclude the baselines (commits) from custom plots?

@dberenbaum
Copy link
Contributor

I mentioned in yesterday's discussion that I don't think we should be using linear plots. There can be multiple points per parameter with different metric values, which makes the linear plot look odd. For example, using this table of experiments:

Screenshot 2023-03-29 at 1 28 03 PM

We get custom plots that look like this:

Screenshot 2023-03-29 at 1 28 13 PM

I think we should use something like the smooth template we have for other plots, where we show the points but generate a smoothed line:

Screenshot 2023-03-29 at 1 29 30 PM

@shcheklein
Copy link
Member

Sounds reasonable to me @dberenbaum , thanks for the feedback!

@daavoo
Copy link
Contributor

daavoo commented Apr 3, 2023

I think we should use something like the smooth template we have for other plots, where we show the points but generate a smoothed line:

I think we should not show a line at all, and use pure scatter plot template, like:

https://vega.github.io/vega-lite/examples/point_color_with_shape.html

@dberenbaum
Copy link
Contributor

@daavoo I thought it might be helpful to have a trend line since it could be noisy with many experments, and a typical use case is to try to see a rough pattern of how the metric varies with changes to the hyperparameter. Any reason you prefer not to show a line at all?

To clarify, unlike the screenshot I included above, I would only expect a single line on these plots.

@daavoo
Copy link
Contributor

daavoo commented Apr 3, 2023

I thought it might be helpful to have a trend line since it could be noisy with many experments, and a typical use case is to try to see a rough pattern of how the metric varies with changes to the hyperparameter.

That sounds like parallel coordinates 😅

Any reason you prefer not to show a line at all?

No strong reason. Just don't try to do too much in one type of plot.

It just feels cleaner / aligned with existing tools, at least as default (wandb does allow to optionally insert line into scatter plot, but it also provides different options on how to add the line).

@dberenbaum
Copy link
Contributor

Okay, I don't see it as a blocker, so I'm fine to go with a scatter plot for now. We could always add either a loess or linear regression line later and have an option to show/hide it.

@julieg18
Copy link
Contributor Author

julieg18 commented Apr 3, 2023

Tried three different plots:

  1. A smooth plot based off our dvc templates
  2. scatter plot
  3. scatter plot with a regression line

The smooth plot seemed kind of buggy though I'm not sure if it's due to the experiment values or me configuring the plot incorrectly. Scatter plots seem simple enough to create though:

Screen.Recording.2023-04-03.at.6.45.14.PM.mov
Screen.Recording.2023-04-03.at.6.46.35.PM.mov

image

What do we think will work best? cc @iterative/vs-code, @shcheklein

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: plots Area: plots webview, side panel and everything related enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants