Trouble with text with gnuplot 5.2.8 on MacOSX - macos

I just update gnuplot 5.x.x to 5.2.8 using brew on MacOSX Mojave 10.14.6 with the commands
brew uninstall gnuplot
brew install gnuplot
Now I have troubles with text as you can see on the picture. Dimensions of plot are also different. With the default 'qt' terminal there is no problem.
The picture is the result of
set terminal pngcairo
set output "test.png"
plot sin(x)

Known bug in pango/cairo libraries as distributed with brew. The only fix known at present is to downgrade to pango 1.43. See original report and various pointers to upstream trackers here: gnuplot issue #2194

Related

Gnuplot PDF Terminal Exhibits Font Issues on Mac

Out of the blue, my Gnuplot has started having issues with the pdfcairo terminal. The font in the produced PDF files is jammed as if the width of the individual characters was set to zero. I am using Gnuplot 5.2.7 on Mac OS, installed via homebrew.
Here, a minimal not-working example:
reset
set terminal pdfcairo
set output "mnwe.pdf"
set xlabel "Time t"
set ylabel "sin(t)"
plot [0:2*pi] sin(x) with lines notitle
which produces the following output:
I suspect that the font issue occurred after a recent update to patchlevel 7. Gnuplot 5.2.2 on my Ubuntu machine works as expected and produces the following output for the same Gnuplot script:
Unfortunately, it does not seem to be possible to revert to the previous Gnuplot version with homebrew.
I confirmed that the epscairo and pngcairo terminals work as expected on my Mac with Gnuplot 5.2.7, so the issue is solely with the pdfcairo terminal.
Edit: In fact, the bug does affect the other Cairo-based terminals as well. Don't know what I did wrong when I checked first.
I would appreciate any pointers at how to fix this.
For Homebrew, I changed the pango formula to stick to version 1.43
Until it gets fixed, this should solve the problem:
brew uninstall --ignore-dependencies pango
brew install iltommi/brews/pango
This will install this formula: https://github.com/iltommi/homebrew-brews/blob/master/pango.rb in which I replaced the v1.44 to 1.43
As of Aug. 24, 2020, the version of Pango on homebrew is 1.46.1 and this bug seems to have been fixed. Doing a clean installation of Gnuplot and Pango via homebrew should solve this problem.
Installing newer version Pango 1.45.5 seems to resolves the issue as well, please confirm:
brew uninstall --ignore-dependencies pango
brew install dersimn/craft/pango
Formula: https://github.com/dersimn/homebrew-craft/blob/master/Formula/pango.rb

Homebrew/brew not taking options when installing gnuplot

I am having a problem where I can't specify options for installing a formula with brew.
Specifically
brew install gnuplot --with-qt results in a invalid option: --with-qt and when I look at brew info gnuplot there is no option available:
$ brew info gnuplot
gnuplot: stable 5.2.6 (bottled), HEAD
Command-driven, interactive function plotting
http://www.gnuplot.info/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnuplot.rb
==> Dependencies
Build: pkg-config ✔
Required: gd ✔, libcerf ✔, lua ✔, pango ✔, qt ✔, readline ✔
==> Options
--HEAD
Install HEAD version
However, I get all indication from the documentation, and thousands of Andrew Ng's machine learning course students that there are some optional flags I could specify. I've tried all sorts of updating and upgrading, and nothing under brew doctor seems to be relevant. I've installed very many things with brew in the past (though ultimately I'm not very sure of the inner workings)
$ brew --version
Homebrew 2.0.1
Homebrew/homebrew-core (git revision 1204; last commit 2019-02-09)
Homebrew/homebrew-cask (git revision 8d29a; last commit 2019-02-09)
mac os 10.14.2 Mojave
Any ideas on where to start investigating would be helpful.
Unfortunately, options have been removed recently, more about it can be found here: Remove all options from Homebrew/homebrew-core formulae
My recommendation would be to use MacPorts as it's generally much easier to install.
$ port variant gnuplot
gnuplot has the variants:
[+]aquaterm: Enable AquaTerm terminal
[+]luaterm: Enable lua-based terminals
old_bitmap_terminals: Enable PBM (Portable Bit Map) and other older bitmap terminals
[+]pangocairo: Enable cairo-based terminals
qt: Enable qt terminal with Qt 4
* conflicts with qt5
qt5: Enable qt terminal with Qt 5
* conflicts with qt
universal: Build for multiple architectures
[+]wxwidgets: Enable wxt terminal
[+]x11: Enable X11 support
Note: In the description it states that qt conflicts with qt5, so you'll want to use one or the other.
So based upon that output you can see there are several "variants" available to install. To use qt:
$ sudo port install gnuplot +qt
If you also wanted to install x11 with qt you could do:
$ sudo port install gnuplot +qt +x11
For now, the option --with-qt is applied by default when you do brew install gnuplot.
As you can see in the following source code of gnuplot hombrew formula.
args = %W[
--disable-dependency-tracking
--disable-silent-rules
--prefix=#{prefix}
--with-readline=#{Formula["readline"].opt_prefix}
--without-tutorial
--disable-wxwidgets
--with-qt
--without-x
]
system "./configure", *args
This can be changed in the future. You can check the source code of gnuplot formula here:
https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnuplot.rb

Installing gnu plot for macOS High Sierra

How does one install a runnable version of gnu plot in macOS high Sierra?
I am looking for a way to make this work with the GUI, but even just getting the terminal script to run would be a success.
Thanks!
The Brew implementation of gnuplot is not really usable because it no longer supports the necessary terminals (e.g., you can no longer provide --with-aquaterm or --with-x11 during installation).
However, the MacPorts package manager has a usable install for gnuplot (it's safe to have both Brew and MacPorts installed). https://www.macports.org/
After intalling AquaTerm, I used the following to install gnuplot, and all is working as expected:
sudo port install gnuplot +aquaterm
I'm using macOS Mojave 10.14.4.
It's easy enough with homebrew.
First, install Xcode command line tools:
xcode-select --install
Then install homebrew by going to homebrew website and copying and pasting the one-liner installation script. I don't want to paste that line here in case it changes down the line, so get the latest from the homebrew website.
Now you have a full package manager that allows you to find, install, update and delete thousands of packages. So you can easily find gnuplot or anything else with:
brew search gnuplot
Once you have found your package, check the avaiable options with:
brew options gnuplot
Sample Output
--with-aquaterm
Build with AquaTerm support
--with-cairo
Build the Cairo based terminals
--with-qt
Build with qt support
--with-wxmac
Build wxmac support. Need with-cairo to build wxt terminal
--with-x11
Build with x11 support
Now install with some sensible options for graphical plots:
brew install gnuplot --with-qt --with-x11
Always ensure your PATH starts with /usr/local/bin for homebrew since that is where it installs programs. I put the following in $HOME/.profile. And I also set the GNUTERM environment variable:
export PATH=/usr/local/bin:$PATH
export GNUTERM=qt
Now run gnuplot:
gnuplot
Sample Run
Check out many useful packages, a nice new Python not Apple's old v2.7, a nice Linux-compatible sed not Apple's BSD version, a nice grep, a nice find, the brilliant GNU awk, ImageMagick, tmux, GNU Parallel, jhead, Poppler, exiftool, Mosquitto, pdfgrep, pngcrush, ZeroMQ... the list goes on...
#David Atri: gnuplot is not as standalone as you might think. Try to compile it from source and you will see how many options and dependencies it has.The main challenge in MacOSX is to get the PDF drivers running. The fact that you see many things as standalone is the good integration work made by the developers
brew is no longer support options.
You can still do "brew install gnuplot", but it will install with just the terminals that the person who wrote the homebrew formula wanted, not necessarily the ones you want.
Compiling gnuplot from the sources is still a nightmare, so you live with the brew-formula writer's choices, write your own brew formula (not completely trivial), or you struggle with huge pile of dependencies and try to compile from the sources.

Gnuplot cannot recognize AquaTerm even I have it installed on OSX 10.8.5 [duplicate]

I've installed Octave and gnuplot via Homebrew, and downloaded AquaTerm.dmg.
When I try to plot, I get the following message:
octave:4> plot(x,y)
gnuplot> set terminal aqua enhanced title "Figure 1" font "*,6"
^
`line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list`
In a bash terminal set terminal, set Terminal, set term, (and the same, followed by "aqua" too) etc gives nothing.
I've tried plotting again from octave having the "AquaTerm" already open, but nothing. I've tried plotting directly from gnuplot but same problem.. How can I do this "set terminal aqua"?
Gnuplot starting message says "Terminal type set to 'x11'" but no idea how to change it, the previous commands didn't work neither.
Since AquaTerm wasn't installed from Homebrew maybe octave/gnupot can't find it... but no idea.
Any guess? Thanks!
I had to add setenv("GNUTERM","X11") to OCTAVE_HOME/share/octave/site/m/startup/octaverc (OCTAVE_HOME usually is /usr/local) to make it work permanently.
Solution found and more details on: http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html
I've ran into a similar issue with Octave-cli, version 3.8.0, on OS X 10.9.1. Observing how Octave-gui could still plot charts, and reading up the answer with octaverc, I've got plotting to work from Octave-cli by adding a line with setenv("GNUTERM","qt") to /usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc
I didn't have to re-install gnuplot or other dependencies.
Setting the terminal type to x11 would solve the problem, but if you want to get AquaTerm working with gnuplot here's how:
First we need to uninstall the existing installation of gnuplot, open up a terminal and run this command.
brew uninstall gnuplot
Download AquaTerm from here: http://sourceforge.net/projects/aquaterm/ and install as you would any OSX application.
From here on, there are two ways to get gnuplot happy with aquaterm, Method 1 is easier, but didn't work for me because my AquaTerm installation didn't create the correct symlinks in /usr/local/lib, Method 2 is the one that worked for me, and I am sharing the steps I took to get it working.
Method 1: Simply reinstall gnuplot after installing AquaTerm seems to fix this issue for people.
brew install gnuplot
Go to the verify step to see if everything worked, if not, follow method 2
Method 2: This method is more advanced, but guaranteed to work if you are patient.
Essentially gnuplot cannot locate the AquaTerm library files, that's why aqua doesn't show up as a terminal type option after we installed gnuplot. We need to modify the homebrew recipe for gnuplot to enable aquaterm support, open up the brew recipe for gnuplot by typing:
brew edit gnuplot
And add these lines as shown in this github commit message, this will enable the brew option for gnuplot to include aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477
Check to see if the proper AquaTerm library symlinks exist by doing these checks:
ls /usr/local/lib/libaquaterm*
ls /usr/local/include/aquaterm/*
The first line above should return some *.dylib files, the second line above should return
some *.h files, if they do not exist run these commands from terminal:
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.1.0.0.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/Headers/* /usr/local/include/aquaterm/.
This is necessary sometimes as the installer for AquaTerm can't create the symlinks in the correct places due to permission issues. Once the /usr/local/ symlinks are created, reinstall gnuplot like this:
brew install gnuplot --with-aquaterm # (formerly --aquaterm in old versions)
Verify that gnuplot can see aquaterm using the steps below and happy plotting!
Verify: that gnuplot was configured with AquaTerm correctly by launching gnuplot in terminal
gnuplot
Type this in the gnuplot terminal
gnuplot> set term
Look for the line
Available terminal types:
aqua Interface to graphics terminal server for Mac OS X
...
If you see the that line above, then you are done, gnuplot is configured correctly and everybody's happy.
I found a way to generate the plots with octave, although is not using AquaTerm but x11. The problem was that Octave was "forcing" gnuplot to use aquaterm to plot. Instead of installing and integrating aquaterm into gnuplot, in octave typed: setenv GNUTERM x11. With this, plots are generated with x11 which is already in the terminal list of gnuplot (set terminal). I know it's a patch, but finally I don't mind aquaterm or x11, I just want plots to be generated
set terminal or set term is gnuplot command.
You just need to run gnuplot from command line to get access to the gnuplot shell.
However, this didn't work for me, neither did the setenv("GNUTERM","x11") in /usr/local/share/octave/site/m/startup/octaverc or ~/.octaverc (both do the same thing).
So I ran set term in gnuplot shell as saw no x11 in the list.
I used homebrew to install gnuplot, so I first uninstalled it brew uninstall gnuplot, then installed with x11 using --with-x flag for that:
brew install gnuplot --with-x
This solved the issue for me.
Use brew info gnuplot to see the list of flags for gnuplot installation.
P.S.
And yes, I did download an X11 dmg and installed it using package installer, still gnuplot had no x11 in the list of supported terminals.
You can try this:
>> brew reinstall gnuplot --with-aquaterm
or
>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm
Create a file .octaverc in your home directory and set GNUTERM to X11
echo "setenv('GNUTERM','X11')" > ~/.octaverc
Open octave terminal and type sombrero to check whether plotting works
octave:1> sombrero
This worked for me:
Unistall gnuplot
brew uninstall gnuplot
Install AquaTerm. You can download it from here: http://sourceforge.net/projects/aquaterm/
Reinstall gnuplot
brew install gnuplot
Anton is correct. You can now just reinstall gnuplot with the --with-aquaterm option. I'd upvote his answer if I had enough reputation points to do it.
$ brew uninstall gnuplot
$ brew install gnuplot --with-aquaterm
Mackuntu mentioned above that this issue has been discussed on github.
https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477
But he advised using the option --aquaterm. If you take a close look at the github link you'll see that the option is --with-aquaterm. Reinstalling gnuplot with this option today allowed me to run some old octave code that uses gnuplot for plotting graphs on OS X.
In my case, on Mas OS Mojave, the solution that worked for my was slightly different (it could be a matter of syntax only).
Following the discussion on this thread I came with the solution that worked for me - it might be important to note that it was possible for me to plot from the Octave-cli but not from Octave command line directly in terminal.
So I created a ˜/.octaverc file and added the following command to it:
setenv GNUTERM qt
Just quit the command line from octave and entered again and was able to plot.
Following thing worked for me:
setenv("GNUTERM","qt")
You can either run it on the octave cli, for local run or can set in the octave startup file for permanent.
/usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc
Just remember in case you change octaverc file you have to have write permissions on it.
I have an answer that should resolve the issue you're encountering. Essentially, for me the problem was that the gnuplot build did not locate the proper AquaTerm libraries. Check out the post I made:
http://deveneezer.blogspot.com/2013/06/octave-gnuplot-and-aquaterm.html
What has worked for me is installing gnuplot-nox. Also see https://bugs.mageia.org/show_bug.cgi?id=4866
Seems like the best way to install gnuplot-nox is to install fink.
http://sourceforge.net/projects/fink/?source=dlp
fink install gnuplot-nox
seems to do a good job. However the installation was failing at one point.
So I installed gnuplot-minimal then ran gnuplot-nox install again and everything worked just fine.
fink install gnuplot-minimal
fink install gnuplot-nox
gnuplot-nox install seemed to have set aqua as the default terminal for gnuplot. Verify that by going to gnuplot shell. To verify if plotting works, type plot(1) in the shell. It should show the plot in a window.
Hope that works for you.
Like suggested in other posts, setting GNUTERM to X11 didn't solve this issue for me. Also straight installing AquaTerm for Mac OSX didn't solve this issue.
The answer is already contained in the above, but this is simpler I think:
nano ~/.octaverc
add this:
setenv("GNUTERM", "X11")
Thats it restart octave you're done.
Here is the solution that worked for me (based on different parts of the mackuntu comment)
Gnuplot is probably already installed for you by the brew install octave command, so we need to remove it first
brew uninstall gnuplot
Then aquaterm has to be installed (http://sourceforge.net/projects/aquaterm/)
After install is complete you need to install gnuplot again. This is because brew detects the presence of aquaterm during install and will not do any checks for it after.
brew install gnuplot --with-aquaterm
If you launch gnuplot after install it should show that aquaterm is supported. And all graphics in octave will work.

How do I enable the pngcairo terminal in Gnuplot

I would like to plot a figure to PNG format (avoiding using convert), however my Gnuplot distribution does not offer the PNGCAIRO terminal. How can I install/enable it? I use Gnuplot 4.4, patchlevel 2 on Mac OS X 10.6.
[me]machine # test $ gnuplot
G N U P L O T
Version 4.4 patchlevel 2
last modified Wed Sep 22 12:10:34 PDT 2010
System: Darwin 10.8.0
Copyright (C) 1986-1993, 1998, 2004, 2007-2010
Thomas Williams, Colin Kelley and many others
gnuplot home: http://www.gnuplot.info
faq, bugs, etc: type "help seeking-assistance"
immediate help: type "help"
plot window: hit 'h'
Terminal type set to 'x11'
gnuplot> set terminal pngcairo
^
unknown or ambiguous terminal type; type just 'set terminal' for a list
If you are running homebrew, you can install everything with just one command line
brew install gnuplot --with-cairo
If your package manager (e.g. macports or fink) doesn't have a suitable gnuplot, then you're probably going to need to build gnuplot from source yourself. Gnuplot itself isn't too difficult, but if you want a specific terminal (e.g. pngcairo) you'll need to download and build the dependencies yourself before building gnuplot -- in this case libcairo.
Gnuplot also has a regular png terminal which should exist if your gnuplot distribution was able to find libgd at compile time or your package manager included it.
And easy way to tell which terminals you have enabled is to just type set terminal in an interactive gnuplot window. That will print a list of all the terminals that your gnuplot is able to use (which depends on the libraries it was compiled with)
Sorry if this isn't a lot of help.
I upgrade gnuplot to 5.0.1 and encounter the same issue. Here is what I do.
To install gnuplot 5.0.1, download the source file from here, and then:
#decompress it:
tar -xvf gnuplot-5.0.1.tar.gz
#install the dependency libraries for cairo-based terminals, like pdfcairo, pngcairo
sudo apt-get install libcairo2-dev
sudo apt-get install libpango1.0-dev
#build it:
cd gnuplot-5.0.1
./configure
make
#install it:
sudo make install

Resources