# How to improve Plots.jl's look

**URL:** https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409
**Category:** General Usage
**Tags:** plotting
**Created:** [November 30, 2017, 12:12pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409 "2017-11-30T12:12:23Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![111](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/111/32/33971_2.png) [@111](https://discourse.julialang.org/u/111)
#### Post date: [November 30, 2017, 12:12pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/1 "2017-11-30T12:12:23Z")

</div>

I used Plots for some time, and am quiet unsatisfied with the figure quality. [The tutorial](http://docs.juliaplots.org/latest/tutorial/) gives us some example, which shows its simplicity. However, none of those figures are publication-quality. I reproduced these plots using PyPlot.jl and GR.jl, they look much better. Therefore, the poor quality of figure made by Plots is not caused by the backend. What makes Plot.jl so ugly? I know some recipes are allowed in Plots.jl, which might make the figure more beautiful. I tested some of these recipes, and was still unsatisfied. Could the developer offer a gallery of beautiful figures produced by Plots.jl (maybe in some notebooks)? It is very inspiring to see beautiful figures, especially for those who don’t know what plotting package to use.

---

<div class="post-metadata">

### Author: ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)
#### Post date: [December 1, 2017, 4:47pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/2 "2017-12-01T16:47:49Z")

</div>

2 posts were split to a new topic: [How to improve Plots.jl default appearance](https://discourse.julialang.org/t/how-to-improve-plots-jl-default-appearance/7441)

---

<div class="post-metadata">

### Author: ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)
#### Post date: [November 30, 2017, 1:28pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/3 "2017-11-30T13:28:49Z")

</div>

It’s also possible that examples used in the documentation have been reduced in size/quality for practical reasons.

---

<div class="post-metadata">

### Author: ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)
#### Post date: [November 30, 2017, 2:22pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/4 "2017-11-30T14:22:22Z")

</div>

I fully agree with @Tamas_Papp: if you want to help, the best way is to be very specific about what could be improved so that the Plots developers can see whether some attributes could have a better default (I guess that’s what this is about, as you can most likely get to a “publication quality” figure by tweaking attributes). Even if those new attributes values do not get chosen as default, you can change your own defaults in the .juliarc.jl file I believe.

On a related note, it’d be nice to have a series of beautified plots from Plots.jl on the Julia homepage: now there only are Gadfly plots (which look very pretty, it’ll be a challenge to get a similar level of beautification).

---

<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 30, 2017, 2:39pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/5 "2017-11-30T14:39:43Z")

</div>

I don’t think plots should be on the homepage for the Julia programming language. It makes more sense to me to have that in the packages that provide the plotting functionality.

---

<div class="post-metadata">

### Author: ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)
#### Post date: [November 30, 2017, 4:37pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/6 "2017-11-30T16:37:13Z")

</div>

I do not like the title, and I think for now there are at least 2 or more feasible options for data visualization in Julia. For example, I use the PlotlyJS package pretty often, and it works all well.

---

<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 30, 2017, 5:02pm UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/7 "2017-11-30T17:02:20Z")

</div>

Could you somehow qualify what ‘publication quality’ means for you. In some previous discussions:

- tiff format and hight dpi
- font selection and quality
- size, geometry and placement of legends/title/additional text

?

---

<div class="post-metadata">

### Author: ![111](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/111/32/33971_2.png) [@111](https://discourse.julialang.org/u/111)
#### Post date: [December 1, 2017, 1:03am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/8 "2017-12-01T01:03:33Z")

</div>

Some of the bad things are:

1. the default line color, the ticks width, tick length, the fonts
2. for some backends, GR for example, the savefig(“test.eps”) produce ugly (wrong orientation) labels, especially when they contains LaTeXstrings.
3. size, geometry and placement of legends/title/additional text
4. sometimes the ticklabels are cut off.

I know the Plots.jl package is under development, and many of the issues are to be solved soon. I also know I can manage to make better figures within Plots.jl by adding some attributes. I am sure of the better future of Plots.jl. My suggestion is that the developers could offer more beautiful figures somewhere.

---

<div class="post-metadata">

### Author: ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)
#### Post date: [December 1, 2017, 3:48am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/9 "2017-12-01T03:48:16Z")

</div>

The Plots.jl package is not under heavy development anymore, what is happening now is mostly small fixes and code contributions from a few maintainers and users. The main creator of the package, Tom Breloff, is not touching the code anymore at the frequency he used to. @tbreloff can you elaborate on your plans for the project, specially given the recent announcement of promising alternatives like [Makie.jl](https://github.com/SimonDanisch/Makie.jl)?

---

<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: [December 1, 2017, 7:04am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/10 "2017-12-01T07:04:45Z")

</div>

I think it is rude to ping the developers when the OP is unwilling even to make the effort of providing an MWE. I still have no idea why and what precisely @111 considers “ugly”; chasing this without his cooperation is a potential timesink with little benefit.

Conversations like this disincentivize developing important packages like `Plots.jl`.

---

<div class="post-metadata">

### Author: ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)
#### Post date: [December 1, 2017, 7:06am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/11 "2017-12-01T07:06:45Z")

</div>

I am not pinging him to discuss about this thread, I am pinging him to know what is the future of Plots.jl in his view and current plans.

---

<div class="post-metadata">

### Author: ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)
#### Post date: [December 1, 2017, 7:15am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/12 "2017-12-01T07:15:01Z")

</div>

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

---

<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: [December 1, 2017, 7:38am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/13 "2017-12-01T07:38:09Z")

</div>

I think you are attributing me intentions which I do not have.

The question you asked (`Makie` vs `Plots.jl`, and the future of the latter) was addressed by developers [in this topic](https://discourse.julialang.org/t/prerelease-makie-interactive-plotting/6811) in detail.

---

<div class="post-metadata">

### Author: ![Per](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/per/32/10387_2.png) [@Per](https://discourse.julialang.org/u/Per)
#### Post date: [December 1, 2017, 7:42am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/14 "2017-12-01T07:42:31Z")

</div>

Isn’t the point of Plots.jl is that you can choose whichever backend you want, including PyPlot? Then it makes no sense to say that “PyPlot looks better than Plots”. (Possibly you could say that PyPlots looks better than the _default setting_ of Plots, but this is a matter of taste, and switching backend is literally one line of code.)

---

<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: [December 1, 2017, 9:50am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/15 "2017-12-01T09:50:03Z")

</div>

> [@juliohm](#):
>
> The Plots.jl package is not under heavy development anymore, what is happening now is mostly small fixes and code contributions from a few maintainers and users. The main creator of the package, Tom Breloff, is not touching the code anymore at the frequency he used to. @tbreloff can you elaborate on your plans for the project, specially given the recent announcement of promising alternatives like Makie.jl?

Pinging someone who hasn’t developed Julia, nor interacted with the Julia community for more than a year, for plans to a package which ownership has been transferred away seems quite unproductive. Development of Plots.jl has moved on to new contributors and who the original creator was, does not matter much.

---

<div class="post-metadata">

### Author: ![anon61610682](https://avatars.discourse-cdn.com/v4/letter/a/ad7895/32.png) [@anon61610682](https://discourse.julialang.org/u/anon61610682)
#### Post date: [December 1, 2017, 9:53am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/16 "2017-12-01T09:53:10Z")

</div>

I have hard time following these negative comments against `Plots.jl`. `Plots.jl` is a frontend, and your results will look as good as whatever backend you choose to plot the results. Plus, the `RecipesBase.jl` in the same unifying framework is very helpful, too.

For me, the “beauty” is the convenience when you start to plot things. Personally, I do not like checking documentation for different plotting commands and supported attributes if my concern is to plot something. Every backend, generally, is allowed to have different notations, call syntaxes, attributes, data types. I want to write a single command, or recipe, and I want it to work no matter what the backend is. In this sense, Lorenz Attracter or any other example under the [homepage](http://docs.juliaplots.org/latest/) is beautiful enough.

We can argue the speed or some other design decision, but IMO `Plots.jl` is simply a great package which does what it promises in a clean way. Sure enough, “Beauty is in the eye of the beholder,” and I cannot say anything about such statements, in the end. I simply cannot understand 🙂

---

<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: [December 1, 2017, 10:17am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/17 "2017-12-01T10:17:45Z")

</div>

Like many topics lately, this one cannot continue meaningfully until OP addresses Tamas Papp’s points.

Most of plots can be tweaked (see [https://github.com/JuliaPlots/PlotThemes.jl](https://github.com/JuliaPlots/PlotThemes.jl) for simple examples of how to “theme” your Plots plots), so it shouldn’t be too hard for OP to simply create an “OPtheme” for Plots, and just set that theme. Heck, if OP promises they can actually provide beautiful defaults, I’ll include them in PlotThemes.jl under the name `:beautiful`.

---

<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: [December 1, 2017, 10:26am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/18 "2017-12-01T10:26:45Z")

</div>

Then someone should take the time and change the first line of the README.md which states:

> Author: Thomas Breloff ( at tbreloff)

---

<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: [December 1, 2017, 10:28am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/19 "2017-12-01T10:28:36Z")

</div>

In light of recent discussions similar to this one, I just wrote a [blog post](https://tpapp.github.io/post/plot-workflow/) about my plotting workflow for publication-quality plots and related issues.

---

<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: [December 1, 2017, 10:36am UTC](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409/21 "2017-12-01T10:36:19Z")

</div>

Why? Tom wrote and thought out much of what we know as Plots, but currently a group of people (excluding Tom) are maintaining it. I don’t think it’s for you to decide who is credited as the main author. If you want to know who did something and what, you can visit the “contributors” page on any Github project.

[Next page](https://discourse.julialang.org/t/how-to-improve-plots-jls-look/7409.md?page=2)
