Randy: you're inspiring me to build the Vega support next so I can save you some effort :) I've already been able to create lots of varied plots in *very* different backends, all with the exact same plotting calls. I'll open an issue and cc you. If there's a "Vega-way" to do something, it might be that approach can also be used for other backends, and I'd like to have it available from Plots.
On Mon, Sep 14, 2015 at 11:16 AM, Randy Zwitch <[email protected]> wrote: > Nope, just another generic statement :) > > All I mean is, I'm trying to make a wrapper for Vega that is > simple/obvious and powerful. All of my code will be focused on the "Vega > way" of doing things, as opposed to an abstract way for all backends as you > are approaching things. So there could be overlap, but I'm not at the point > where I'm actively looking for synergies, since there's so much more to do > to make Vega.jl viable at all. > > On Monday, September 14, 2015 at 11:04:31 AM UTC-4, Tom Breloff wrote: >> >> Randy: do you have an issue or design description of what you're looking >> to accomplish with your "interactivity interface"? There could be more >> overlap than you think... >> >> On Mon, Sep 14, 2015 at 11:02 AM, Randy Zwitch <[email protected]> >> wrote: >> >>> Sure, I was just speaking in generic terms. My goals for Vega are >>> similar to your goals for static plots; in addition, I'm looking to define >>> an interactivity interface...both of which don't necessarily overlap with >>> Tom's goals with Plots.jl, but may in the future. >>> >>> On Monday, September 14, 2015 at 10:50:29 AM UTC-4, Daniel Carrera wrote: >>>> >>>> Hi Randy, >>>> >>>> To be clear, interactivity (as I understand it) is not something I want >>>> or would use. I need to change the plot settings programmatically so I can >>>> reproduce the exact same plot later if I need to. >>>> >>>> Cheers, >>>> Daniel. >>>> >>>> On 14 September 2015 at 16:02, Randy Zwitch <[email protected]> >>>> wrote: >>>> >>>>> Daniel, this is the approach that I'm taking with Vega.jl; trying to >>>>> make simple things obvious to change and crazy interactivity from Vega >>>>> accessible *somehow* (still working on that!). Not sure how that will fit >>>>> into a common plot interface, but once I'm further along, hopefully I can >>>>> contribute to this effort. >>>>> >>>>> On Monday, September 14, 2015 at 9:03:31 AM UTC-4, Daniel Carrera >>>>> wrote: >>>>>> >>>>>> On Friday, 11 September 2015 03:48:44 UTC+2, Tom Breloff wrote: >>>>>>> >>>>>>> Hi Miguel... Looking forward to your comments. The short answer is >>>>>>> that it depends on the situation. For functionality that just isn't >>>>>>> possible for a backend, I'll probably just throw an error (ideally with >>>>>>> a >>>>>>> message describing other backends that can do what you're looking for). >>>>>>> For >>>>>>> some cases, I might automatically replace the call with something >>>>>>> similar. >>>>>>> For an example, I couldn't figure out how to make a "sticks" plot in >>>>>>> Gadfly, so I made a bar plot instead. I hope that the package authors >>>>>>> can >>>>>>> help me with this process though... Sometimes there's undocumented >>>>>>> functionality that does what I need, and it would be a big help to have >>>>>>> package authors contribute. >>>>>>> >>>>>>> I also want to hear from people on visualizations that aren't >>>>>>> possible with this API, as this all falls apart if you only cover some >>>>>>> of >>>>>>> your needs through Plots.jl. Look at the TODO at the bottom of the >>>>>>> readme >>>>>>> for an idea of my roadmap, and let me know if you want me to add to or >>>>>>> prioritize something. >>>>>>> >>>>>> >>>>>> >>>>>> Overwhelmingly, I do relatively simple scatter plots and line plots; >>>>>> with the occasional "heat map" plot. The priority for me is to be able to >>>>>> fiddle with the details of the plot: change the font, define a new >>>>>> colour, >>>>>> remove the tick marks, have two y-axes, change the aspect ratio, insert >>>>>> formulas in LaTeX, etc. So the plot itself is usually very simple, but I >>>>>> need to be able to make any change requested by my supervisor, or the >>>>>> journal editor, or the referee. >>>>>> >>>>>> Cheers, >>>>>> Daniel. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> On Thursday, September 10, 2015, Miguel Bazdresch <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Tom, >>>>>>>> >>>>>>>> I'm the author of Gaston.jl. This looks interesting, and I'll take >>>>>>>> a closer look. I'm wondering, how do you plan to handle the different >>>>>>>> capabilities of each backend? Say, for example, that the user >>>>>>>> specifies a >>>>>>>> plot that Gaston can't handle -- maybe the marker type is not >>>>>>>> supported by >>>>>>>> Gnuplot, or something like that. >>>>>>>> >>>>>>>> -- mb >>>>>>>> >>>>>>>> On Thu, Sep 10, 2015 at 4:26 PM, Tom Breloff <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> This may be a slightly premature announcement, but I wanted to put >>>>>>>>> it out there so that people that have strong opinions have a chance >>>>>>>>> to give >>>>>>>>> their thoughts. Here's the link: >>>>>>>>> >>>>>>>>> https://github.com/tbreloff/Plots.jl >>>>>>>>> >>>>>>>>> Plots.jl is intended to be an API/interface that sits above other >>>>>>>>> plotting packages (backends) and gives the user simple, consistent, >>>>>>>>> and >>>>>>>>> flexible plotting commands. It's a problem when someone is used to a >>>>>>>>> package which is great for interactive plots, but then has to >>>>>>>>> re-learn and >>>>>>>>> re-code new plots in another package when producing >>>>>>>>> publication-quality >>>>>>>>> plots (or vice versa). The same goes for switching between desktop >>>>>>>>> GUIs >>>>>>>>> and javascript technologies... sometimes one package is better than >>>>>>>>> another >>>>>>>>> for a specific task, and it's a shame to be forced to choose. >>>>>>>>> >>>>>>>>> I've implemented a bunch of functionality for both Gadfly.jl and >>>>>>>>> Qwt.jl backends. See the examples to get a sense of how they differ. >>>>>>>>> I >>>>>>>>> think Vega.jl and UnicodePlots.jl might be next on my priority list, >>>>>>>>> but >>>>>>>>> please let me know if I should prioritize differently. Note: This is >>>>>>>>> still >>>>>>>>> a work in progress, and I will probably change parts of the API, and >>>>>>>>> not >>>>>>>>> every plot type is implemented yet. >>>>>>>>> >>>>>>>>> Please let me know comments, wish lists, etc. Issues are great >>>>>>>>> for actionable items, comments can go here. This effort was partially >>>>>>>>> inspired by various discussions here and on github, which prompted the >>>>>>>>> forming of https://github.com/JuliaPlot, and an effort to improve >>>>>>>>> the plotting landscape with tutorials and documentation. If you're >>>>>>>>> interested: https://github.com/JuliaPlot/juliaplot_docs/issues >>>>>>>>> >>>>>>>>> Tom >>>>>>>>> >>>>>>>> >>>>>>>> >>>> >>
