Gnuplot Development

From ConTeXt wiki

Known bugs

  • mathematics
plot [0:3] 2/sqrt(pi)*exp(-x**2) t '$\frac{2}{\sqrt{\pi}}e^{-x^2}$'
  • comments
# this comment should be ignored
plot sin(x)
  • doesn't work with XeTeX yet
  • Rotated PostScript images


ConTeXt + terminal

  • contour plot, set style fill pattern
  • images
  • handling fonts / set label "font"
  • colour palettes
  • smooth shading


  • optimize the number of gnuplot runs (if possible, gnuplot should be run only once)
  • optimize the number of times for loading/converting an already used graphic

Gnuplot core

  • CLIP lines & points
  • encoding: bigger list, it's not updated in help (encoding), add utf-8
  • pm3d - smooth shading

Obscure ideas

  • set decimalsign ',' based on language setting or locales

What has to be added to m-gnuplot.tex to support ConTeXt terminal

What has to be added to context.trm

High priority

  • fix the syntax for
set terminal context
  • write documentation
  • [HTH] add \switchtobodyfont[whateverisprovided]\strut to evert \sometxt: try using (implementing first) \GPtext instead of \sometxt

Middle priority

  • support different font sizes
  • check if everything is documented well enough in help

Low priority

  • implement with_image: once it's clear how to do it
  • study the code for palettes, implement them and document them
  • (need some interference with the core code) improve the code for
draw_color_smooth_box(MODE_SPLOT) in graph3d.c -> color.c


  • [HTH] = Need Hans's or Taco's Help

Different remarks about gnuplot development


Hans's note

Once we have lua in place it should not be that difficult to make a mechanism that works as follows:

  • context calls gnuplot and opens a socket
  • and starts waiting for gp to finish
  • when gnuplot needs dimensions it talks back via the socket
  • tex executes the command send by the socket
  • etc

it needs some thinking but i think that it is possible

closed curves in parametric plots

  • it's probably not seen that easy, but if you want a circle with --cycle, set trange [0:2*pi]