# Where is actual development in Plotting?

**URL:** https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224
**Category:** Visualization
**Created:** [October 3, 2017, 5:43pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224 "2017-10-03T17:43:35Z")
**Posts on this page:** 20
**Page:** 6

<div class="post-metadata">

### Author: ![yeesian](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yeesian/32/652_2.png) [@yeesian](https://discourse.julialang.org/u/yeesian)
#### Post date: [October 7, 2017, 6:35pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/102 "2017-10-07T18:35:25Z")

</div>

> (I am working on an advanced FE course that would be based on Julia.) […] I still believe it is very important to have something really simple for the newbies that just works. No frills, maybe, but it does the job with minimum intrusions. If it is to be PyPlot, so be it.

It’s your course, so you get to say. If it helps: you can also make a simple no-frills plotting package that helps with the plots they’ll need to do in the course. But I don’t see how those considerations are a ecosystem/language level problem.

---

<div class="post-metadata">

### Author: ![Evizero](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evizero/32/10118_2.png) [@Evizero](https://discourse.julialang.org/u/Evizero)
#### Post date: [October 7, 2017, 6:56pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/103 "2017-10-07T18:56:48Z")

</div>

> [@tim.holy](#):
>
> Making small fixes is not hard, either: documentation pages have links (pencil-icons or “Edit on GitHub”) that with just a couple of clicks let you submit corrections. I wonder what we can do to get people more willing help out?

here is something rather silly I’ll admit of being guilty of. When you click on “Edit on Github” on a documentation page, it takes you to the commit that produced the docs (so not a branch). This means you can’t actual edit the page. To be able to edit all that is needed is to switch to master. so its just a click away. Yet I remember a couple of times when I just thought “ugh, some other time” and closed the tab.

 ![31](https://global.discourse-cdn.com/julialang/original/3X/1/1/112604c04386fa0256469ec5ddc4284280c7f95d.png)

---

<div class="post-metadata">

### Author: ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)
#### Post date: [October 7, 2017, 6:58pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/104 "2017-10-07T18:58:40Z")

</div>

Clippy is The Answer. We just have to change the phrasing a little bit: “Hi, I’m Clippy! You can make me go away by submitting one PR that improves this documentation!” Bingo, hundreds of PRs within the week.

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 7, 2017, 6:59pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/105 "2017-10-07T18:59:54Z")

</div>

> [@Evizero](#):
>
> here is something rather silly I’ll admit of being guilty of. When you click on “Edit on Github” on a documentation page, it takes you to the commit that produced the docs (so not a branch). This means you can’t actual edit the page. To be able to edit all that is needed is to switch to master. so its just a click away. Yet I remember a couple of times when I just thought “ugh, some other time” and closed the tab.

> <https://github.com/JuliaDocs/Documenter.jl/issues/580>
>
> Here's where the edit button on Documenter's index goes:
> 
> https://github.com/J…uliaDocs/Documenter.jl/blob/fe5beddf966c6a525858656860c38bb95e66e9ad/docs/src/index.md
> 
> Ref: https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/103?u=chrisrackauckas

I fixed this manually in the new Plots.jl docs ([Home · Plots](http://juliaplots.github.io/PlotDocs.jl/latest/)) using a mkdocs option:

[https://github.com/JuliaPlots/PlotDocs.jl/blob/master/docs/mkdocs.yml#L39](https://github.com/JuliaPlots/PlotDocs.jl/blob/master/docs/mkdocs.yml#L39)

---

<div class="post-metadata">

### Author: ![tpoisot](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tpoisot/32/19812_2.png) [@tpoisot](https://discourse.julialang.org/u/tpoisot)
#### Post date: [October 7, 2017, 7:04pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/106 "2017-10-07T19:04:14Z")

</div>

> [@tim.holy](#):
>
> I wonder what we can do to get people more willing help out? Animate the icon so it dances around the screen? Or write some user-pestering javascript: “I see you’ve loaded this page three times in the last day. Is there some problem with it?”

Maybe adding some text in the README? For example (tagging @tbreloff here), there is no CONTRIBUTING file for plots (which is where I’d look to see what sort of contributions are expected). There is one on the website, but then clicking on the editing button redirects to a non-existing page on github. Long story short, you’d need to be very motivated to find the correct place to make the change.

---

<div class="post-metadata">

### Author: ![tpoisot](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tpoisot/32/19812_2.png) [@tpoisot](https://discourse.julialang.org/u/tpoisot)
#### Post date: [October 7, 2017, 7:07pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/107 "2017-10-07T19:07:27Z")

</div>

I may have a few figures to contribute, is there a github project / repo somewhere?

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 7, 2017, 7:13pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/108 "2017-10-07T19:13:24Z")

</div>

> [@tpoisot](#):
>
> I may have a few figures to contribute, is there a github project / repo somewhere?

[GitHub - JuliaPlots/ExamplePlots.jl: Collection of examples and recipes for Plots.jl](https://github.com/JuliaPlots/ExamplePlots.jl) ? I think it should get a README like [GitHub - SciML/SciMLTutorials.jl: Tutorials for doing scientific machine learning (SciML) and high-performance differential equation solving with open source software.](https://github.com/JuliaDiffEq/DiffEqTutorials.jl)

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [October 7, 2017, 7:16pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/109 "2017-10-07T19:16:33Z")

</div>

Well, because it is not just my students who are either going to take to Julia or not. I think of the other potential users, which are not necessarily going to be using whatever I slapped together for the course. A newbie needs something that works out of the box: install the download package and you’re guaranteed to get what you need as a new user.

---

<div class="post-metadata">

### Author: ![Evizero](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evizero/32/10118_2.png) [@Evizero](https://discourse.julialang.org/u/Evizero)
#### Post date: [October 7, 2017, 7:16pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/110 "2017-10-07T19:16:35Z")

</div>

One thing to be aware of is that if you go directly to the edit dialog it will automatically fork the repository unless you have push access. Also if someone is not logged in you will just see a github login screen

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 7, 2017, 7:21pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/111 "2017-10-07T19:21:43Z")

</div>

> [@Evizero](#):
>
> One thing to be aware of is that if you go directly to the edit dialog it will automatically fork the repository unless you have push access. Also if someone is not logged in you will just see a github login screen

So I should tend it to blob?

Edit: Fixed. New docs will build in a sec.

---

<div class="post-metadata">

### Author: ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)
#### Post date: [October 7, 2017, 7:25pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/112 "2017-10-07T19:25:41Z")

</div>

The `contributing` bit is in the docs: [https://juliaplots.github.io/contributing/](https://juliaplots.github.io/contributing/) I wonder if it would make a difference to have a file in the repo as well.  
ExamplePlots.jl could be a good repo, but perhaps it’d be even better to have a “graph gallery” folder under PlotDocs - if you have some plots to contribute, could you add this in a PR? Would be great.

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 7, 2017, 7:27pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/113 "2017-10-07T19:27:02Z")

</div>

> [@mkborregaard](#):
>
> perhaps it’d be even better to have a “graph gallery” folder under PlotDocs - if you have some plots to contribute, could you add this in a PR? Would be great.

Let’s make it. @tpoisot wanna do the first one?

---

<div class="post-metadata">

### Author: ![tpoisot](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tpoisot/32/19812_2.png) [@tpoisot](https://discourse.julialang.org/u/tpoisot)
#### Post date: [October 7, 2017, 7:39pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/114 "2017-10-07T19:39:43Z")

</div>

Will look at what I have on Tuesday, sure.

---

<div class="post-metadata">

### Author: ![yeesian](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yeesian/32/652_2.png) [@yeesian](https://discourse.julialang.org/u/yeesian)
#### Post date: [October 7, 2017, 7:41pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/115 "2017-10-07T19:41:44Z")

</div>

[https://juliacomputing.com/products/juliapro.html](https://juliacomputing.com/products/juliapro.html)

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [October 7, 2017, 7:51pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/116 "2017-10-07T19:51:38Z")

</div>

Thanks.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [October 8, 2017, 7:47am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/117 "2017-10-08T07:47:20Z")

</div>

> [@PetrKryslUCSD](#):
>
> A newbie needs something that works out of the box: install the download package and you’re guaranteed to get what you need as a new user.

This depends on what you mean by “guaranteed”, but if you are looking for reliability/maturity like R or Matlab, you may have to wait a while. Notice that the latest released version is `0.6`, which [means](http://semver.org/#semantic-versioning-specification-semver) that

> Anything may change at any time. The public API should not be considered stable.

This is about the core language, the library ecosystem may of course take _additional_ time to catch up once the language stabilizes.

Julia, especially the released branches, are perfect for productive daily work, but users occasionally need to get their hands dirty. It is very important to keep this in mind when teaching a course, and adjust expectations accordingly. Choose Julia when the benefits (speed, future value of investment, convenience) outweigh the costs (occasional bugs, library ecosystem moving forward rapidly, WIP or nonexistent libraries for certain tasks).

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [October 8, 2017, 12:25pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/118 "2017-10-08T12:25:53Z")

</div>

Very true. But note that my concern is more about the state of affairs at the time when 1.0 is released.

---

<div class="post-metadata">

### Author: ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)
#### Post date: [October 11, 2017, 2:34pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/119 "2017-10-11T14:34:06Z")

</div>

Hello everyone,

thanks for the lively discussion and to everyone who contributed. Initially i tried to get an overview of things/technology/SW that’s in flow (and might be interesting to contribute to) without visibility but i learned also a lot about community building and expectations on the plotting topic. I wasn’t aware e.g. about Simon’s [https://github.com/SimonDanisch/MakiE.jl](https://github.com/SimonDanisch/MakiE.jl) .

I’ll pick up some topics in dedicated other questions.

---

<div class="post-metadata">

### Author: ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)
#### Post date: [October 18, 2017, 2:14am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/120 "2017-10-18T02:14:45Z")

</div>

> @tobias.knopp: I think one of the most promising efforts was/is Winston.jl. It is pure Julia and thus is fully hackable. Integration with Gtk.jl works nicely.  
> Unfortunately the development behind this stalled a little bit.

I am not certain if this satisfies your needs, but the `InspectDR` plotting backend is also “pure Julia”: The rendering is done through Cairo.jl, and the interactive GUI makes use of Gtk.jl.

Link: [ANN: New interactive Plots.jl backend for large datasets](https://discourse.julialang.org/t/ann-new-interactive-plots-jl-backend-for-large-datasets/1442)

---

<div class="post-metadata">

### Author: ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)
#### Post date: [October 18, 2017, 2:37am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/121 "2017-10-18T02:37:28Z")

</div>

> @stephancb: To me it seems that plotting can easily become highly complex. It would perhaps be worth (and a big work) to design a hierarchically structured plot container that can be filled/modified via the usual plot(…) functions calls or from persistent storage and that can be displayed with the different backends […]

I might not have understood your concerns correctly, but: If you choose the HDF5 backend, you can:

1. Build your plot in a backend-agnostic way using the usual `plot(...)` functions.

2. Save said plot to an .hdf5 file.

3. Choose whichever backend you wish to use when “replaying” said .hdf5 file.

4. Replay .hdf5 file to currently selected Plots.jl backend.

5. Add more detail to the plot using the usual `plot(...)` functions (if desired).

6. Possibly do the same to a second/thrid/… backend.

The only real problem at this point (That I am aware of) is that the HDF5 backend is _ **not of archival quality** _: Given that the HDF5 backend uses an object dump of the internal Plots.jl structures, it is very succeptible to backward compatibility issues whenever the internal Plots.jl structures change.

To make an archival-quality version of the HDF5 backend, we would probably need to develop a more rigid specification for the file structure… and probably have some form of versionning to lower the pain threshold wrt to adding features in the future.

[Previous page](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224.md?page=5)

[Next page](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224.md?page=7)
