PGFPlotsX and color map



I want to use a different color map than “hot”. When I try to use the “viridis” color map, I get an error.
It isn’t clear to me why it should be so, since the latex code matches what I can find in the PGF manual.

@pgf ax = Axis({
    view = (0, 90),
    height = "11cm",
    width = "14cm",
    xlabel = "Frequency",
    ylabel = "Angle",
    enlargelimits = false
Plot3({surf,shader="interp",samples=1,patch_type="rectangle"}, Table(frequencies, phis, scatp))

This works when color map is “hot”, but fails with

julia> include("acousticcolor.jl")! Missing number, treated as zero.
<to be read again>\pgfpl@cm@viridis@size
l.4562 \end{axis}
ERROR: LoadError: The latex command `lualatex julia0jx0Ch.tex` failed

The generated latex code reads:

\begin{axis}[view={0}{90}, height={11cm}, width={14cm}, xlabel={Frequency}, ylabel={Angle}, grid={major}, colormap name={viridis}, enlargelimits={false}]
    \addplot3[surf, shader={interp}, samples={1}, patch type={rectangle}]
        table[row sep={\\}]

Any hints will be appreciated.


You did not include an MWE, so the only thing I can confirm is that both versions below work fine for me:

using PGFPlotsX
x = 1:5
z = x .+ x'
@pgf Axis({"colormap/viridis"}, Plot3({surf}, Table(x, x, z)))
@pgf Axis({colormap_name = "viridis"}, Plot3({surf}, Table(x, x, z)))



Thanks for the example. It fails for me.

julia> include("try.jl")
! Package pgfplots Error: The colormap `viridis' is undefined! Maybe you misspe
lled it?.

See the pgfplots package documentation for explanation.
Type  H <return>  for immediate help.

l.47 \end{axis}

Error showing value of type Axis:
ERROR: The latex command `lualatex juliaef4Hf8.tex` failed

Perhaps I need to update the pgfplots package?



Thanks for the pointer. I’m still working on the update of PGF plots, since my Ubuntu TeX Live doesn’t want to do it. Oh well.


I erased texlive (sudo apt-get remove texlive), and the newly installed texlive now lives in /usr/local/texlive/2018, so that I get for which lualatex => /usr/local/texlive/2018/bin/x86_64-linux/lualatex. So I presume that’s what is found when I do build PGFPlotsX. Unfortunately the plotting with the viridis color map still fails with the same error. I tried updating: sudo /usr/local/texlive/2018/bin/x86_64-linux/tlmgr update --all claims no update is available. So if pgfplots is up-to-date, why is the color map still not found? Any ideas?


A restart of the Linux machine, and the viridis colormap now displays. However, this time it is the “jet” colormap that is not found!


This thing is VERY fiddly: to get the jet color map to work I have to do "colormap/jet", colormap_name="jet" does not work. On the other hand colormap_name="viridis" works fine.


I am afraid that is a pgfplots thing we can do little about.

I am surprised that Ubuntu TeXLive does not work for you, are you on 18.04?


Of course, my “fiddly” comment was directed at pgfplots (no ‘X’ ;)). I will try to debug the pgfplots colormaps a bit by looking at the generated latex. When something doesn’t work for me, it is usually MODF ( my own damn fault). For what it’s worth, here is my opinion: pgfplots and PGFPlotsX are extremely impressive software, which produce astonishing graphics in camera-ready quality. Many thanks to the authors!

The texlive installation business must have to do with the fact that I am running it as a Windows Subsystem for Linux (WSL). I am currently on Ubuntu 14.04. (I know, I should upgrade, and I will at some point.)