WYSIWYG Plot Editor

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.

1 Like

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).

1 Like