<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body>
These awful graphic problems are immortal...<br>
<br>
Glynn Clements comments my suggestion about using PostScript as <br>
the output interface<br>
<blockquote
 cite="mid16688.11303.194086.518115@cerise.nosuchdomain.co.uk"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">Well, more than often proposing another *language* to process raw data
might be an overkill.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
I wasn't proposing *processing* the data in PostScript.
  </pre>
</blockquote>
Well, if you think about writing a PostScript program, containing<br>
- instead of raw data, say 10, 25, 65, the commands<br>
0 10 moveto 1 10 lineto 2 25 lineto, etc., with stroking, filling,
curveto's,<br>
scaling - as proposes Sergey Zaharchenko, then you *do* write a data<br>
processing program in Postscript.<br>
&nbsp; Where the output goes, it is another story.<br>
&nbsp; Sergey gives some simple-minded examples, quite OK. But I challenge<br>
him or you to tell *to a newbie* how to perform the automatic scaling of<br>
the plot axes. And how to make an EPS document embeddable in another<br>
one with all those bounding boxes (which depend on the chosen scale,
etc.)<br>
How to make legends. And histogram fills with patterns.&nbsp; No, don't tell
me<br>
this is something self-evident.&nbsp; I know Postscript.<br>
<blockquote
 cite="mid16688.11303.194086.518115@cerise.nosuchdomain.co.uk"
 type="cite">
  <pre wrap="">

Well, there are lots of ways in which you could draw stuff from
Haskell.

One is to use an in-process graphics library (e.g. GLUT/OpenGL,
wxHaskell, GTK+HS). However, if your Haskell environment doesn't
already include these, it could be highly non-trivial to actually get
to the point where you can use them.

Another is to use the core I/O functions (e.g. writeFile) to generate
files for an external program.

Either approach requires that you learn (or already know) the details
of a graphics library or file format. If you don't already know one, I
don't feel that PostScript would necessarily be any more involved than
e.g. OpenGL or GDK. You don't really have to understand the *language*
as such; there's no reason why you can't treat it as simply data, i.e. 
just write lots of 'show x ++ " " ++ show y ++ " lineto\n"'.
  </pre>
</blockquote>
You don't need any special file format to prepare data for Matlab.<br>
Use free format, fscanf it into a matrix, and then call hist or
whatever.<br>
The advantage is that all scaling, smoothing, annotating, filling etc.<br>
is there, at your disposal. Just imagine the amount of extra text<br>
which would have to be output by a Haskell program...<br>
<br>
The alternative, if there is no Matlab by hand, is Scilab, Gnuplot, etc.<br>
Also here, output data only, and let the formatting to be done by the <br>
specialized package.<br>
<br>
It would be a very good idea to prepare a comprehensive library of<br>
high-level Postscript codes, permitting to a Haskell programmer to<br>
output a well-tuned, colourful plot, with axes, etc. fast. A step in
that<br>
direction has been made quite a time ago, the diploma thesis of<br>
Joachim Korittky: "Functional MetaPost"; see, e.g. the pages of Ralf<br>
Hinze, some doc by Marco Kuhlmann, and some work of&nbsp; Feri Wagner<br>
and (doc) Meik Hellmund.&nbsp; If you manage to find that stuff, the
'revival'<br>
of the system was rather chaotic...<br>
It is still not *very* high level, and for the moment it seems less <br>
appropriate for serious plots than piping raw data to Matlab or
similar. <br>
But to draw diagrams or simplistic curves, why not?<br>
<br>
Jerzy Karczmarczuk<br>
</body>
</html>