# Trying to add Gaston.jl, missing Gnuplot for some reason

**URL:** <https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888>\
**Category:** General Usage\
**Tags:** question, package, gaston\
**Created:** [November 28, 2020, 6:05am UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888 "2020-11-28T06:05:53Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [November 28, 2020, 6:05am UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/1 "2020-11-28T06:05:53Z")

</div>

When I test Gaston.jl, I’m told that Gnuplots is not available on the system. How do I add this?

```julia
┌ Warning: Gnuplot is not available on this system. Gaston will be unable to produce any plots.
└ @ Gaston C:\Users\Brett\.julia\packages\Gaston\ctAQy\src\Gaston.jl:88
Test Summary: | Pass Total
Figure and set commands | 14 14
Test Summary: | Pass Broken Total
2-D plots | 45 3 48
Test Summary: | Pass Total
Histograms | 2 2
Test Summary: | Pass Total
Images | 3 3
Test Summary: | Pass Total
3-D plots | 12 12
Test Summary: | Pass Total
Multiplot | 1 1
Test Summary: | Pass Total
Saving plots | 6 6
Test Summary: | Pass Total
Tests that should fail | 14 14
    Testing Gaston tests passed 

```

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [November 28, 2020, 7:00am UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/2 "2020-11-28T07:00:47Z")

</div>

Hi Brett. I will check on my Windows laptop.  
I advise using the Chocolatey package manager. Install Chocolatey and the new GUI.  
Then use this to install Gnuplot

> **[Chocolatey - The package manager for Windows](https://chocolatey.org/)**
>
> Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software...

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [November 28, 2020, 7:01am UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/3 "2020-11-28T07:01:36Z")

</div>

Confirmed on a Windows 10 laptop.  
Install chocolatey. Use GUI or a Powerhsell and ‘choco install gnuplot’

> **[Gnuplot 5.4.8](https://community.chocolatey.org/packages/gnuplot)**
>
> A portable, multi-platform, command-line driven graphing utility.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [November 28, 2020, 2:57pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/4 "2020-11-28T14:57:46Z")

</div>

Just to confirm: Gaston requires gnuplot to be already installed and in the path.

---

<div class="post-metadata">

**Author:** ![viralbshah](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/viralbshah/32/54_2.png) [@viralbshah](https://discourse.julialang.org/u/viralbshah)\
**Post date:** [November 28, 2020, 4:04pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/5 "2020-11-28T16:04:34Z")

</div>

We should get a GnuPlot\_jll recipe into BinaryBuilder.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [November 28, 2020, 5:00pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/6 "2020-11-28T17:00:30Z")

</div>

I looked into it a few weeks ago, and it seems like a lot of work (there are previous discussions: [https://github.com/mbaz/Gaston.jl/issues/135](https://github.com/mbaz/Gaston.jl/issues/135) ; [https://github.com/gcalderone/Gnuplot.jl/issues/12](https://github.com/gcalderone/Gnuplot.jl/issues/12)). I would very much welcome a pull request, though!

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [November 28, 2020, 5:31pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/7 "2020-11-28T17:31:52Z")

</div>

I have conda, can that be used? Otherwise I’ll do that.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [November 28, 2020, 5:32pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/8 "2020-11-28T17:32:59Z")

</div>

How do you do a pull request?

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [November 28, 2020, 5:42pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/9 "2020-11-28T17:42:33Z")

</div>

@brett_knoss First, a Gnuplot\_jll package must be developed and registered (see [GitHub - JuliaPackaging/BinaryBuilder.jl: Binary Dependency Builder for Julia](https://github.com/JuliaPackaging/BinaryBuilder.jl)). This is the part that is a non-trivial amount of work.

Then, Gaston must be modified to use the JLL package instead of looking for gnuplot in the regular places. That part is easy. A pull request to Gaston can be done using the general instructions [here](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests).

It is far, far easier to just install gnuplot using Chocolatey, or your OS usual binary installer.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [November 28, 2020, 6:09pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/10 "2020-11-28T18:09:14Z")

</div>

> [@johnh](#):
>
> choco install gnuplot

I had it in the path. I used chocolaty and I can get it to load up and make scatter plots, but it won’t make line plots, and I get an error if I try to add linewidth, color, titles, etc.

```julia
using Gaston
plot(1:10,title="A simple plot")

```

```julia
plot(1:10,title="A simple plot")
┌ Warning: Gnuplot returned an error message:
│   
│ gnuplot> plot 'C:\Users\Brett\AppData\Local\Temp\jl_hzA37AN2qn' i 0 title A simple plot 
│ ^
│ line 0: expecting "title" for plot
│ 
└ @ Gaston C:\Users\Brett\.julia\packages\Gaston\ctAQy\src\gaston_llplot.jl:182

```

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [November 28, 2020, 6:20pm UTC](https://discourse.julialang.org/t/trying-to-add-gaston-jl-missing-gnuplot-for-some-reason/50888/11 "2020-11-28T18:20:13Z")

</div>

You will need to read [the documentation](https://mbaz.github.io/Gaston.jl/stable/). Gnuplot has its own way to create plots. In your case, “title” is a property of the entire plot, as opposed to a specific curve; as such, it must be wrapped in `Axes()`:

```
plot(1:10, Axes(title = "'A simple plot'"))

```

Anything inside `Axes()` is translated to gnuplot `set` commands; in this case, `set title 'A simple plot'`.
