# 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:** 8

<div class="post-metadata">

### Author: ![danielc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielc/32/220_2.png) [@danielc](https://discourse.julialang.org/u/danielc)
#### Post date: [November 21, 2017, 7:17am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/142 "2017-11-21T07:17:30Z")

</div>

> [@Tamas\_Papp](#):
>
> There is no single centralized decision.

I didn’t say that there was. That’s why I used the word “community”. You can mentally replace the word “community” with “plurality” if that helps clarify my meaning.

> [@Tamas\_Papp](#):
>
> If you want PyPlot to be one of them, you should not condition your contributions on some vague community decision; just start contributing now.

We are all volunteers. You cannot tell me what to do any more than I can tell you what to do. The message I get from what people post is that most people are not keen on PyPlot but are keen on Plots.jl and native back-ends. I don’t want to spend a lot of effort on work that will either be unused or lead to fragmentation. That’s my personal choice.

> [@](#):
>
> Ideally, I think that many in the Julia community would prefer a native plotting library.

That’s my reading as well.

> [@](#):
>
> All other solutions have issues, but they are different ones, and Plots.jl gives you a choice so you can work around them most of the time.

I respect your opinion. But you see why my reading of the community is that there is more interest in Plots.jl than PyPlot.

---

<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: [November 21, 2017, 7:17am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/143 "2017-11-21T07:17:46Z")

</div>

> [@danielc](#):
>
> That said, the state of plotting in Julia is indeed dismal, and we should be honest about that.

“Constructive” in this context means that value is added. Issues are constructive. PRs are constructive. Testing is constructive. Helping other users on this forum or another is constructive.

Initiating discussion with the purpose of “being honest” about an issue that is common knowledge adds little value, and is of secondary importance compared to _doing something_.

---

<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: [November 21, 2017, 7:20am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/144 "2017-11-21T07:20:20Z")

</div>

> [@danielc](#):
>
> You cannot tell me what to do

Obviously. I was just assuming that you want something (a good plotting library that satisfies your preferences), and are willing to put in the work, and suggested a way for that to happen.

---

<div class="post-metadata">

### Author: ![danielc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielc/32/220_2.png) [@danielc](https://discourse.julialang.org/u/danielc)
#### Post date: [November 21, 2017, 7:31am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/145 "2017-11-21T07:31:10Z")

</div>

This post was temporarily hidden by the community for possibly being off-topic, unfocused, inappropriate, or spammy.

---

<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: [November 21, 2017, 7:42am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/146 "2017-11-21T07:42:00Z")

</div>

> [@danielc](#):
>
> What is really unconstructive is to criticize people who honestly say that the current state is pretty bad. I worry that that kind of attitude would actually impede progress.

Did I misunderstand this? I thought “that kind of attitude” referred to me. If I misunderstood I’m sorry. There should definitely be room for critique - what I meant by “not constructive” was “not actionable”.

---

<div class="post-metadata">

### Author: ![danielc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielc/32/220_2.png) [@danielc](https://discourse.julialang.org/u/danielc)
#### Post date: [November 21, 2017, 7:59am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/147 "2017-11-21T07:59:43Z")

</div>

> [@mkborregaard](#):
>
> Did I misunderstand this? I thought “that kind of attitude” referred to me. If I misunderstood I’m sorry.

It referred to one comment that you made. Not you in general; just one comment. I hope you understand the reasoning: If people who highlight broad problems are heavily criticized for doing so, that just creates an echo chamber were one only hears good news.

I do think that the current plotting situation in Julia is dismal. It’s the main caveat that I give to people when they ask me about Julia. I am sure that plotting will improve over time. It’s just that right now all the native plotting packages are very immature, and the non-native PyPlot can be opaque, and it has the kind of issues that you would expect for a package that has to call Python to do its job.

---

<div class="post-metadata">

### Author: ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)
#### Post date: [November 21, 2017, 8:44am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/148 "2017-11-21T08:44:57Z")

</div>

This post was temporarily hidden by the community for possibly being off-topic, unfocused, inappropriate, or spammy.

---

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [November 21, 2017, 8:51am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/149 "2017-11-21T08:51:15Z")

</div>

Easy now!

I feel this thread has reached the end of useful discussion, maybe it should be closed?

---

<div class="post-metadata">

### Author: ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)
#### Post date: [November 21, 2017, 8:53am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/150 "2017-11-21T08:53:48Z")

</div>

FWIW I use Plots.jl as a positive example to advertise Julia

---

<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: [November 21, 2017, 9:05am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/151 "2017-11-21T09:05:22Z")

</div>

I don’t see that actual development in Plotting has stopped, so why closing a discussion?

---

<div class="post-metadata">

### Author: ![yakir12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yakir12/32/297_2.png) [@yakir12](https://discourse.julialang.org/u/yakir12)
#### Post date: [November 21, 2017, 9:07am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/152 "2017-11-21T09:07:03Z")

</div>

Yea, I love Plots.jl! I love the recipe idea. I think that the recipe idea is in fact so good it should be used in other instances where people would rather not include a larger package, but just the recipe for how the larger package should deal with their own package, like Unitful.jl (though Unitful is small) and any GUI package (Gtk.jl).

I understand where some of the criticism is coming from but I think what’s going on here is the clash between newish Julia users that might be used to more mature and nurturing environments and the talented people that sweat and volunteer their time and effort to build this new and promising language. We’ll get where you want to go, let’s just be a bit nicer on the way there.

---

<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: [November 21, 2017, 9:19am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/153 "2017-11-21T09:19:10Z")

</div>

> [@danielc](#):
>
> If people who highlight broad problems are heavily criticized for doing so, that just creates an echo chamber were one only hears good news.

Uhh, have you seen this?

> **[Issues · JuliaPlots/Plots.jl](https://github.com/JuliaPlots/Plots.jl/issues)**
>
> Powerful convenience for Julia visualizations and data analysis - Issues · JuliaPlots/Plots.jl

This comment doesn’t even make sense given the fact that real people who work on plotting respond to detailed descriptions of both specific and broad problems daily, and the proof is just one click away!

---

<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: [November 21, 2017, 9:47am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/154 "2017-11-21T09:47:03Z")

</div>

> [@Tamas\_Papp](#):
>
> Ideally, I think that many in the Julia community would prefer a native plotting library. It’s just that they also realize that this is an enormous undertaking, so they are OK with other solutions in the meantime.

We arrived at that point already a few times. And just to remind a few people here: It’s an enormous undertaking, because some basic functionality on which plotting will be implemented is missing or in flow or both. Like full-precompilation - that a package starts without any need to revisit code generation? Like full-working Dataframes - having a good and consistent answer to: missing data? Like managing C-API libraries - system-independent (BinDeps, Homebrew and a few ‘other’). Like system-independent windowing? Like a good answer to C++ APIs? Like a good answer to optional modules/interfaces?

I see progress in all this, and actually development in plotting could be worse. I understand the needs of users that just ask: Why is Plotting so slow, but it’s not really fun to develop either.

---

<div class="post-metadata">

### Author: ![pkofod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pkofod/32/2179_2.png) [@pkofod](https://discourse.julialang.org/u/pkofod)
#### Post date: [November 21, 2017, 9:48am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/155 "2017-11-21T09:48:52Z")

</div>

I just clicked on this topic after having ignored it for a long time, and since Discourse saves your drafts, I still had this written:

> I think this thread has a risk of going sour,

and tbh, I think I was correct. This was way back in October, but I decided against contributing to the discussion.

We are talking about open source software here. Some people are contributing because it helps them get their job done, some people are avoiding homework, some people are simply having fun coding at night when they’re off work. This has been discussed thousands of times across hundreds of open source projects in hundreds of languages.

> [@danielc](#):
>
> I just can’t win, can I?

Yes you can. Listen to the people who are taking part in the discussion. You’re talking about echo chambers and resistance to take criticism, but you are ignoring the evidence laid in front of you yourself. If all you wish for is that _things get better_ then you might want to consider your debate style. Notice, I am not telling you to do anything, this is just friendly advise.

---

<div class="post-metadata">

### Author: ![danielc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielc/32/220_2.png) [@danielc](https://discourse.julialang.org/u/danielc)
#### Post date: [November 21, 2017, 11:39am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/156 "2017-11-21T11:39:00Z")

</div>

> [@kristoffer.carlsson](#):
>
> That’s funny, because when I saw your post I was “Oh, here’s the rude guy again”. And now we have this discussion again. If this keeps happening when you interact with other people, maybe you are the problem…

I have tried to learn from past criticism, and this time I have tried to be polite and careful with my comments. Having said that, more than one person raised strong criticism of plotting in Julia long before I wrote anything.

---

<div class="post-metadata">

### Author: ![danielc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielc/32/220_2.png) [@danielc](https://discourse.julialang.org/u/danielc)
#### Post date: [November 21, 2017, 11:41am UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/157 "2017-11-21T11:41:37Z")

</div>

> [@ChrisRackauckas](#):
>
> This comment doesn’t even make sense given the fact that real people who work on plotting respond to detailed descriptions of both specific and broad problems daily, and the proof is just one click away!

I did not intend to suggest that people were not permitted to file issues on GitHub, or that those issues were not welcome. I did not imagine that my comment would be interpreted that way.

---

<div class="post-metadata">

### Author: ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)
#### Post date: [November 21, 2017, 12:13pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/158 "2017-11-21T12:13:48Z")

</div>

Well, your statement was very broad, so it’s easy to find a broad range of counter examples 😉

Anyways, I feel the back and forth about interpretations of comments of people is becoming a bit unnecessary.  
Obviously communication is difficult and it can be important to discuss interpretations and defend the interpretation of your words - but it got to a point where it isn’t helping the topic anymore.

In contrast, there is a huge range of issues which we could productively discuss here!

People could open detailed issues at Plots.jl, Makie.jl or PyPlot - or summarize existing issues for a meta discussion.  
I put up some things I find problematic right now in [the Makie docs](http://www.glvisualize.com/Makie.jl/stable/)

We could write documents about what is wrong in the plotting ecosystem right now and what needs improvements.  
There could be pull requests or discussions of certain design choices…

I’d also love to have more people test [Makie](https://github.com/SimonDanisch/MakiE.jl) and help me avoid problems from the beginning.

The community could help fleshing out modular, backend independent plotting utilities - e.g. layouting, recipes, finding optimal ticks etc.  
This would be a great contribution, that is crucial for the future of Julia based plotting packages.

I’m not sure if we can get this level of involvement here, since speaking in broad terms fits most peoples time frame much better (I’m guilty of this a lot as well).

And to be honest, you need to be pretty involved to create a helpful meta discussion.

So, opening detailed issues about a concrete usage problem + neutral summaries of issues would be the most helpful thing for the developers of the Julia plotting libraries right now.

I’m sure as a developer of Makie & GLVisualize, I’m not even aware of some crucial issues that people hit in their every day plotting life - which could be avoided by good, concise summaries of current issues - maybe even in the form of documented tests submitted to Plots.jl 🙂

---

<div class="post-metadata">

### Author: ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)
#### Post date: [November 21, 2017, 6:09pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/159 "2017-11-21T18:09:22Z")

</div>

I don’t think the GR back-end supports TeX/LaTeX typesetting of labels, etc. – PyPlot supports this (based on Plots.jl documentation).

---

<div class="post-metadata">

### Author: ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)
#### Post date: [November 21, 2017, 6:19pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/160 "2017-11-21T18:19:18Z")

</div>

Have you tried it? Last time I tried it, they were supported (at least to some extent).

---

<div class="post-metadata">

### Author: ![jheinen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jheinen/32/2787_2.png) [@jheinen](https://discourse.julialang.org/u/jheinen)
#### Post date: [November 21, 2017, 6:24pm UTC](https://discourse.julialang.org/t/where-is-actual-development-in-plotting/6224/161 "2017-11-21T18:24:27Z")

</div>

LaTeX typesetting is still supported : `GR.mathtex(x, y, string)`

```julia
julia> using GR

help?> mathtex
search: mathtex

  mathtex(x::Real, y::Real, string)

  Generate a character string starting at the given location. Strings can be
  defined to create mathematical symbols and Greek letters using LaTeX syntax.

  Parameters:

  x, y : Position of the text string specified in world coordinates string :
  The text string to be drawn

julia> 

```

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

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