|
Home > Archive > Unix Shell > December 2007 > cool app to generate 2D plots directly to an image file from the
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
cool app to generate 2D plots directly to an image file from the
|
|
| Glenn MacGougan 2007-12-29, 7:22 pm |
| http://plot2d.sourceforge.net
"
plot2d -f plot2d_options.txt
USAGE: Plot2D -h // display help
USAGE: Plot2D -c <option file name> // create a default options file
USAGE: Plot2D -f <option file name> // create plot based on this file
/srv/www/htdocs/upload/result.bmp generated.
"
Check it out. It's still in Alpha so it needs design feedback.
Does anyone know if there is another way to do this from the shell?
aside from some crazy way to script using octave and gnuplot.
glenneo
| |
| Glenn MacGougan 2007-12-29, 7:22 pm |
| On Dec 29, 1:47 pm, Glenn MacGougan <glenn.macgou...@gmail.com> wrote:
> http://plot2d.sourceforge.net
> "
> plot2d -f plot2d_options.txt
> USAGE: Plot2D -h // display help
> USAGE: Plot2D -c <option file name> // create a default options file
> USAGE: Plot2D -f <option file name> // create plot based on this file
> /srv/www/htdocs/upload/result.bmp generated.
> "
> Check it out. It's still in Alpha so it needs design feedback.
>
> Does anyone know if there is another way to do this from the shell?
> aside from some crazy way to script using octave and gnuplot.
>
> glenneo
BTW
The unix/linux makefile is in the source download.
/apps/plot2d/unix/makfile
| |
| Glenn MacGougan 2007-12-29, 7:22 pm |
| On Dec 29, 1:50 pm, Glenn MacGougan <glenn.macgou...@gmail.com> wrote:
> On Dec 29, 1:47 pm, Glenn MacGougan <glenn.macgou...@gmail.com> wrote:
>
>
>
>
> BTW
>
> The unix/linux makefile is in the source download.
> /apps/plot2d/unix/makfile
Make the Release
.../apps/plot2d/unix/make release
Make the Debug
.../apps/plot2d/unix/make release
creates plot2d.bin
| |
| Glenn MacGougan 2007-12-30, 1:38 am |
| On Dec 29, 8:19 pm, Icarus Sparry <use...@icarus.freeuk.com> wrote:
> On Sat, 29 Dec 2007 12:47:44 -0800, Glenn MacGougan wrote:
>
> From a "unix" point of view, if I was going to use this, there are
> several things I would like changed.
>
> 1) You have to edit the options file to change the input and output files.
> One would expect that the program would read standard input for its data
> at least, and would write to standard output. By all means have command
> line options that override these, but do not expect us to have to write a
> program to edit the options file.
>
> 2) It is not clear how much the program can infer without the options.
> For instance if you have an options file that just specifies the input
> and output filenames will it produce a reasonable graph? If it doesn't,
> then that makes the program a lot less useful to me. If it does, then
> once you have go rid of the requirements to specify the input and output
> files (point 1), then you can loose the options file.
>
> 3) Why restrict the output to a ".bmp" file? For instance on a system
> using X why not have it able to pipe the output into 'xwud', or be able
> to output techtronix 4014 escape sequences so the output can be viewed
> using xterm? Why not have it capable of drawing simple ASCII art graphs?
>
> 4) Why does the data have to be "column based". I gave it a data file
> which contained "1 2 3 4" and didn't get a very useful graph. I then put
> the numbers one per line, and the program objected - "Problem in
> attempting to plot series 0".
>
> 5) Why would I want a graph drawing library to calculate mean and
> standard deviation? I am sure you have a particular need that you are
> hoping this program will fill, but I can't see such a need for myself.
>
>
>
> Your idea of "crazy" may not agree 100% with the definition that the
> other six and a half thousand million people that share the planet with
> you use. 10th Edition Unix at least has the "plot" command, which could
> be driven by an awk script to draw graphs. There are other graphics
> libraries out there, e.g.www.libgd.org. which can be called from
> interfaces from scripting languages.
>
> I have not needed to do this myself, but I expect you can use the
> spreadsheet in OpenOffice to do this kind of drawing as well.
Feedback appreciated thanks,
I just reviewed the GNU graph command and it fits your unix point of
view well.
(1) The software does need better command line handling and the
ability to run solely from the terminal without the options file. It
should be easy enough to strike a balance so that both an options file
and command arguments are supported.
(2) The software needs to know the input file(s) but this could be
supported via command arguments as well.
(3) Bitmap was fastest to implement to get the project going.
(4) Most numeric data files that I've dealt with are column based. A
flag could be added to support row based.
(5) The stats are useful to add to the figure for many applications
I've worked with.
| |
| Glenn MacGougan 2007-12-30, 1:26 pm |
| On Dec 30, 5:21 am, Maxwell Lol <nos...@com.invalid> wrote:
> Glenn MacGougan <glenn.macgou...@gmail.com> writes:
>
> One of my favorite 2D plotting programs is Grace.
>
> http://plasma-gate.weizmann.ac.il/Grace/
>
> It's powerful, and can be complicated to generate all of the data from
> the shell.
>
> Typically I first use the defaultrs to display the data, and use the
> interactive features to design the plot, with legends, style, title,
> subtitle, axis labeling, etc.
>
> Then I save the (meta) parameters it a separate file from the data.
>
> I generate the new data using a script, and view the graph with new
> data and old graph parameters.
>
> At times I have used a shell script to modify the parameters for a
> series of plots.
I've evaluated Grace and gnu graph now and I'm impressed with both
packages. But I still think there is much room for creating more
usability. I think a good requirement for the plot2d project is
minimizing the time it takes a novice user to create a plot of their
data.
Plot2d is lacking in terms of the overall power of the software
(just .bmp output, and fairly constrained look and feel with only one
real font choice for now) - But for quick plotting of user data and
getting quick stats, it aims to be fast and very easy to use. I think
reducing the learning curve is the key feature of the software.
For experienced unix users, it's not likely to be top choice - but for
the novice user it has benefits.
I'm going to add the following to the project goals/design:
1. Plot2D aims to facilitate new users plotting their data within
minutes.
2. Plot2D needs real Unix usability with complete command line options
- I'll based the options on the gnu graph arguments.
3. A cross-platform GUI to write the options file and/or write the
complete shell command. (and create the figure from the GUI of
course).
| |
| lihao0129@gmail.com 2007-12-30, 7:23 pm |
| On Dec 29, 3:47=A0pm, Glenn MacGougan <glenn.macgou...@gmail.com> wrote:
> http://plot2d.sourceforge.net
> "
> plot2d -f plot2d_options.txt
> USAGE: Plot2D -h =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0// display help
> USAGE: Plot2D -c <option file name> // create a default options file
> USAGE: Plot2D -f <option file name> // create plot based on this file
> /srv/www/htdocs/upload/result.bmp generated.
> "
> Check it out. It's still in Alpha so it needs design feedback.
>
> Does anyone know if there is another way to do this from the shell?
> aside from some crazy way to script using octave and gnuplot.
I can pretty much do the same thing with PERL and modules like
GD::Graph(with some simple input, I can get plots with output formats
like png, gif...).. I used this way to export plots to monitor the web
traffic. (in a web context, I dont even need a temporary image file to
make a figure online :- 
lihao(XC)
| |
| Glenn MacGougan 2007-12-31, 1:41 am |
| On Dec 30, 5:09 pm, Dave <f...@coo.com> wrote:
> Glenn MacGougan wrote:
>
>
>
> It suffers from GNUism or LINIXism - isfinite is not standard C.
>
> CC -g -Wall -c -o cplot.o ../../../src/cplot.c
> CC: Warning: Option -Wall passed to ld, if ld is invoked, ignored otherwise
> "../../../src/cplot.c", line 3899: Error: The function "isfinite" must
> have a prototype.
> "../../../src/cplot.c", line 3930: Error: The function "isfinite" must
> have a prototype.
> 2 Error(s) detected.
> *** Error code 2
> make: Fatal error: Command failed for target `cplot.o'
>
> There are also some unprintable characters in the makefile.
> Also,
>
> DEBUG_CFLAGS = -g -Wall
>
> -Wall is not a debug flag.
>
> i.e. not portable.
>
> The above is on a Sun Blade 2000 running Solaris 10.
>
> kestrel /tmp/apps/plot2d/unix % cat /etc/release
> Solaris 10 8/07 s10s_u4wos_12b SPARC
> Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
> Use is subject to license terms.
> Assembled 16 August 2007
Thanks, I'll look at a work around.
| |
| Glenn MacGougan 2007-12-31, 1:23 pm |
| On Dec 30, 10:56 pm, Glenn MacGougan <glenn.macgou...@gmail.com>
wrote:
> On Dec 30, 5:09 pm, Dave <f...@coo.com> wrote:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Thanks, I'll look at a work around.
Thanks all for the initial feedback.
I've released a revised version with much better command line
capabilities. I still have to fix the isfinite issue but that should
be done shortly.
More feedback is greatly appreciated.
|
|
|
|
|