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

[FR] Errorbars #487

Open
KronosTheLate opened this issue Jan 23, 2024 · 4 comments · Fixed by #505
Open

[FR] Errorbars #487

KronosTheLate opened this issue Jan 23, 2024 · 4 comments · Fixed by #505

Comments

@KronosTheLate
Copy link
Contributor

It would be super nice if I could supply a mapping(:x_cord, :y_cord, error=:stddev) mapping. It would perhaps be nice to have a version error_x to allow errorbars in that dimension also.

@jkrumbiegel jkrumbiegel linked a pull request Jul 16, 2024 that will close this issue
7 tasks
@KronosTheLate
Copy link
Contributor Author

Awesome! Lovely to see progress here, AoG holds a lot of promise.

Will the linked PR enable everything described in the seaborn plotting package documentation? That is a great target IMO, as that page is one of the best resources I have seen when it comes to parametric/nonparametric estimates of uncertainty/spread. The ease by which one can chose any of the four combinations with seaborn was of great help for my latest project, and I am dreaming of AoG having the same capabilities.

I am asking because AFAICT, the linked PR does not really close this issue, but facilitates making a PR that closes it. And I mention seaborn because IMO, it has everyone one could wish for when it comes to plotting statistical estimates.

P.S: I know I am just asking for festures without rolling up my sleeves. I am very aware that I am simply making request on other people's time, and I am very grateful for everything you and others have done for making plotting in Julia awesome 😍

@jkrumbiegel
Copy link
Member

the linked PR does not really close this issue, but facilitates making a PR that closes it

Huh I guess I must've read the issue incorrectly. I thought this was about errorbars not working correctly because it did not adhere to the x, y, z schema. But you'd actually like to have a generic error keyword added to all plotting functions that take coordinates? I'm not quite sure how that would look. Maybe an analysis would do that one can multiply with some mapping, so that you don't have to determine std or so yourself?

@jkrumbiegel jkrumbiegel reopened this Jul 17, 2024
@KronosTheLate
Copy link
Contributor Author

I am also not at all sure how it would work. I believe it is sort of automagical in other frameworks. Let me sketch out an example:

Given the following DataFrame:

x y
1 0.9
1 0.1
1 1.1
2 3.8
2 3.9
2 4

If I plot an x-y scatter, I would expect that the package detects that the x-coordinate is the same for three points, and represents them as a single point with an errorbar. That is sort of icky though - what if the x-values are floats and not integers, and are only approximately the same? Of what if you want seperate markers on the same x-coordinate?

If one wants to be more explicit about the fact that we want to aggregate points with the same x-coordinate, one could add a keyword/function/struct est, akin to seaborn's Est object (also related is seaborn's Agg object). This is quite flexible, capable, and intuitive, without the automagic part. It also provides an entry-point for specifying how to estimate the point-estimate (median? mean? Geothmetic Meandean?) and errorbars (+- 1 std? +- 1 standard error? A certain percentile/confidence interval (see 1st figure here?)

@KronosTheLate
Copy link
Contributor Author

I do suspect that a full treatment of this issue (developting, testing, writing docs) is a rather large task, and more like AoG growing a new small limb rather than a tiny addition. But it would be really really nice, and IMO such statistical estimates is one of the larger value-adds of putting your data in a dataframe and using frameworks like AoG.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants