From: Gregory Novak
Subject: Data Visualization
Date: 
Message-ID: <m28xqzbh40.fsf@ucolick.org>
I spent this morning poking around for a data visualization facility
to use from Common Lisp.  I'm looking for simple x vs. y plots at the
moment, but pseudo-color plots, surface plots, or an interface to VTK
would be welcome.  My preference would be for something that "lives
inside" common lisp instead of something that defines its own
environment w/ its own prompt that is almost but not quite common lisp
(as xlispstat seemed to be with a very short experimental session)

It looks to me like the major players are:
1) Garnet w/ Plot-2d
2) xlispstat
3) vista
4) maybe clip/clasp 

None of these look particularly exciting to me, mostly because they
don't look like they have much vitality.  Is this impression
incorrect?  Is there some package that I've missed?  This seems like
something Lisp could excel at--the people like environments like IDL
so much is simply that they're interactive (IMO).  But as a
programming language, IDL is horrid: they basically made Fortran
interactive.   

Any help, suggestions, or pointers would be appreciated.

Greg

From: Alexander Schmolck
Subject: Re: Data Visualization
Date: 
Message-ID: <yfsacbfctkz.fsf@oc.ex.ac.uk>
Gregory Novak <·····@ucolick.org> writes:

> I spent this morning poking around for a data visualization facility
> to use from Common Lisp.  I'm looking for simple x vs. y plots at the
> moment, but pseudo-color plots, surface plots, or an interface to VTK
> would be welcome.  My preference would be for something that "lives
> inside" common lisp instead of something that defines its own
> environment w/ its own prompt that is almost but not quite common lisp
> (as xlispstat seemed to be with a very short experimental session)
> 
> It looks to me like the major players are:
> 1) Garnet w/ Plot-2d
> 2) xlispstat
> 3) vista
> 4) maybe clip/clasp 
> 
> None of these look particularly exciting to me, mostly because they
> don't look like they have much vitality.  Is this impression
> incorrect?  Is there some package that I've missed?  This seems like
> something Lisp could excel at--the people like environments like IDL
> so much is simply that they're interactive (IMO).  But as a
> programming language, IDL is horrid: they basically made Fortran
> interactive.   
> 
> Any help, suggestions, or pointers would be appreciated.

IMO forget about pure lisp solutions if you need something that isn't crap
(i.e. allows painless creation of publication quality plots). Writing a decent
plotting package from scratch is a fair amount of work and in the absence of a
sizeable scientific userbase I can't see were the man power (both for coding
and testing) would come from in the immediate future. I think by far the best
bet would be to interface to something else.

These are the options that I think would make sense:

    0. (only as a stopgag) gnuplot
    1. matplotlib (a python package)
    2. matlab

0. Has the main attraction that it is easy to get to work and can do several
   things (albeit badly). Whilst I haven't seen a *good* gnuplot lisp package
   so far, several do exist.

1. is very good and free, but didn't have 3D plots yet, last time I looked
   (although I think I saw some patches for surface plots floating around
   somewhere). The main downside is that you'd also have to install python and
   all the library dependencies that matplotlib has. There is a project to
   interface lisp to python, but I haven't tried it yet (although I find the
   prospect quite exciting, mostly because I'd like to use matplotlib from
   lisp).

2. Costs $$$, but does pretty much everything (although matplotlib already
   produces superior 2D plots). Matlab does allow you to interface via C and
   at least one lisp<->matlab bridge does exist (for clisp). The c-interface
   is somewhat messy, however and often changes incompatibly between releases.

By now I mostly use matplotlib for plotting in python, but python was in
exactly the same boat not too long ago. After I had tried various crappy
python plotting packages over the years, I eventually got fed up and wrote a
thin wrapper around matlab plotting which worked extremely well for me (the
fact that I wasn't using a pure python solution was completely invisible). I
think a similar approach should work well for lisp. If efficiency is not that
important you could also just talk to matlab or python via pipes, rather than
writting (or using some preexisting) C-level interface code.

I'm also quite interested in plotting from lisp, but haven't had time to have
a go at it so far myself. If you come across something of interest, please
report back (if you think about interfacing something like matplotlib I might
also be willing to lend a hand, but I can't promise I'll have much time).

'as
From: AJ Rossini
Subject: Re: Data Visualization
Date: 
Message-ID: <1143279707.318540.107150@e56g2000cwe.googlegroups.com>
I would recommend R for statistical graphics/exploration.  It's not
lisp, but it's semi-reasonable as a language, and graphics (if you
include some of the 400+ extension packages that are relevant) are as
good or better than those generated by S-PLUS or MATLAB.  (sure,
quibble away, but in general, it's true).

XLispStat and ViSta (if you are denoting the visual statistics system
and GUI built on XLispStat are dead from an evolutionary standpoint.
Pity.  I liked both of them, and they were LIGHTYEARS ahead of their
time (noting the current arguments on the R lists, which request
features already present in those systems back in '90). I'm working on
a CommonLispStat (CLispStat, CLS), but it's vapor until I release, and
treat it that way (I'm also working, with a few folks, on a general
decent embedding of R within CL, and that is less vapor, i.e. we have 2
prototypes which are pretty alpha but have successfully demo'd).

I thought that SciGraphica was okay, as well -- there were some recent
patches to attempt to make it work again on either CLISP or SBCL, but
I'd not tried it in years.


Why CLS?  Because CLISP and SBCL are truly wonderful underlying compute
engines, in different ways.   Why vapor?  Because data analysis systems
take a while to get right, and graphics are probably the hardest part.

FEMlisp has some nice call-outs to GNUplot for graphics, that might be
worth leveraging.  That system isn't dead yet, and has a nice design,
though it's got a focused design (good call by the developer, but I'm
unfortunately looking for a more general solution).

best,
-tony
From: Paolo Amoroso
Subject: Re: Data Visualization
Date: 
Message-ID: <87bqvusv7f.fsf@plato.moon.paoloamoroso.it>
Gregory Novak <·····@ucolick.org> writes:

> I spent this morning poking around for a data visualization facility
> to use from Common Lisp.  I'm looking for simple x vs. y plots at the
[...]
> incorrect?  Is there some package that I've missed?  This seems like

Another option may be Scigraph, which is maintained as part of McCLIM:

  Scigraph manual
  http://openmap.bbn.com/~kanderso/lisp/scigraph/

  Screen shot by Rainer Joswig (Scigraph in MCL CLIM)
  http://lispm.dyndns.org/lisp/pics/scigraph.jpg

  McCLIM
  http://common-lisp.net/project/mcclim/


Paolo
-- 
Why Lisp? http://wiki.alu.org/RtL%20Highlight%20Film
The Common Lisp Directory: http://www.cl-user.net