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

What would be the roadmap for ggplot2 extensions? #47

Closed
camilogarciabotero opened this issue Nov 29, 2023 · 7 comments
Closed

What would be the roadmap for ggplot2 extensions? #47

camilogarciabotero opened this issue Nov 29, 2023 · 7 comments

Comments

@camilogarciabotero
Copy link
Member

Hi there,

Thank you for bringing ggplot2 to Julia. One of the nice things, besides the fantastic and intuitive syntax of the ggplot2 library, is the nice ecosystem of extensions that it has. I wanted to open the discussion about it. What would be the strategy? Is it better to extend them here? Would it be better to have a side repo/org/ to host a growing extension ecosystem of packages? What extensions could be easily ported to the ecosystem? Would it be better to let it grow organically by the community?

Best.

@kdpsingh
Copy link
Member

kdpsingh commented Nov 29, 2023

Thanks @camilogarciabotero for bringing this up! Definitely one of the main strengths of R ggplot2 are the extensions and not simply the syntax.

If you look at their ecosystem of extensions, they vary quite a bit in their scope and what they do. For example, cowplot is an extension intended for laying out plots and achieves a similar aim as patchwork. But then ggdist has a very different purpose, focusing on visualizing distributions for a different set of end-users. So I think it's hard to think that we could wrap all of these up into a single TidierPlotsExtensions package or even a single repository.

My guess is that we would probably hope to see some organic development from other devs, and very likely we would look to see how to more easily integrate Makie extensions into TidierPlots, as Makie (our backend) also has a growing ecosystem (https://makie.org).

Would love to hear @rdboyes's thinking on this.

@kdpsingh
Copy link
Member

On a related note though, I think we still have a lot of work to do to make the case to both Julia and R users that the Tidier.jl ecosystem is worth learning.

My sense is that the Tidier.jl community is currently pretty small, but I'm hoping it will grow as we develop more ways for people to learn it and to hopefully appreciate its design.

@camilogarciabotero
Copy link
Member Author

If you look at their ecosystem of extensions, they vary quite a bit in their scope and what they do.

I do agree with these point. On the other hand, there are some extensions whose functionality seems to be very tight to the ggplot2 itself, like the ggrepel that avoids label overlapping. This for instance could be something that the TidierPlots.jl have by default in the geom_label method. Similarly, the ggraph could bring some new geoms to be present by default.

On a related note though, I think we still have a lot of work to do to make the case to both Julia and R users that the Tidier.jl ecosystem is worth learning.

Yeah, definitely the extension of the ecosystem is a very further step. However, when I do work with ggplot2 to make an intermediate or sightlier complex plot, I tend to to load more than one extension. Could otherwise, having a supported and established ecosystem of extension, something that will bring more users to the Tidier.jl?

@kdpsingh
Copy link
Member

Not sure how Randy feels, but I'd be totally open to merging new geoms or tightly coupled functionalities (like ggrepel) directly into TidierPlots (assuming they are relatively straightforward to implement).

We are doing a similar thing with TidierData, where we have implemented janitor and are planning to add tidylog even though both are technically more like extensions.

@camilogarciabotero
Copy link
Member Author

Nice to hear that something similar is happening with the TidierData.jl. Btw, thanks for all the effort to port the tidyverse into Julia!

@rdboyes
Copy link
Member

rdboyes commented Nov 29, 2023

My feeling is that anything that is supported in the underlying Makie/AoG packages can be part of the main TidierPlots package. This includes a lot of notable ggplot extensions, including patchwork (seriously though why isn't this part of R's ggplot at this point?), ggdist, gganimate, etc.

If it gets to the point where specific functionality is developed in TidierPlots that merits its own package we can break it off - right now "having too much functionality" is not amoung our problems in my opinion :)

@rdboyes
Copy link
Member

rdboyes commented Feb 28, 2024

Closing this issue to open separate issues for extension implementations

@rdboyes rdboyes closed this as completed Feb 28, 2024
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

No branches or pull requests

3 participants