So, I had an idea. Not really my idea, but someone elses from like the 90’s or something.
Would there be an interest in a WYSIWYG style plot editor as an extension to Juno/Atom? Or maybe in it’s own little pop out window in pure julia style?
I have no problem with Plots.jl, but man, sometimes it’s just hard to remember all the commands and sort through the docs. Sometimes I just want to change an axis numbering, or zoom via mouse, etc.
I know it’s heretical to say this, but is anyone else interested in such a thing? For publications and presentations it would be kinda nice. If there’s interest, maybe then we can sort out the “how” aspect. If there’s no interest I don’t know if I’ll dive into it.
I would definitely appreciate it if there was a way to interactive change axis labels, move the legend, etc. So +1 for creative ideas like this.
However, remember that Plots.jl is using multiple different backends that internally work very differently. For this reason, I guess it’s very hard to create a single interactive front-end for all of them.
Take a look at DataVoyager.jl. It is not really a WYSIWYG plot editor, more a data exploration tool. But you can still create plots interactively, and then easily get the plot specification into your running julia session as a VegaLite.jl plot.
Once the vega team has created a new version of lyra that works with the current generation of vega, I plan to provide a similar tool to DataVoyager.jl, but for lyra. Lyra is much more of a WYSIWYG plot editor than voyager. There are some nice videos and an online version of the previous version here.
David thats an awesome project. Definitely inline with what I’m thinking.
I started thinking, maybe a WYSWIG plot editor isn’t really the thing. Maybe good UI with plots is the problem at hand? Click to interact, then later right click to change axis, etc. I know some efforts have been made for this, but last I checked(over a year ago) none were very mature.
I’m still kind of racking my brain as to the best means forward.
Why the term “heretical”?
PlotlyJS can offer the plot editor online. All it takes is to register on the site.
Wow Lyra sounds great. I kind of stopped working with VegaLite since there was too much code to write for simple data exploration (i.e quickly plotting a dataframe or a few vectors). But I may pick it up again to use with Lyra.
@affans I released a new version of VegaLite that has some features that should make these simple cases much more concise. I’ll write the changes up soon, but essentially things like this work now:
@vlplot(:point, rand(10), rand(10)) (just pass vectors without a table, and the first two positions are automatically x and y),or
df |> @vlplot(:point, :colA, :colB) (again, positional option for the X and Y encoding story).