Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Graphics Software

Unix Graphing Programs? 85

An anonymous reader asks: "For university I am looking for a program to make some nice 2D or 3D graphs to represent some data for statistics. I am currently using RedHat Fedora as my Linux distro but KChart, Gnumeric, OpenOffice, and the other ones I found weren't suitable. It would be nice if the "template" was easily configurable so I could standarize all of my work. i.e. have the actual value next to the bar etc.. It's mainly bar graphs that I need. Does anyone have any recommendations for good easy Linux programs to graph general data? professor didn't have any ideas for Linux."
This discussion has been archived. No new comments can be posted.

Unix Graphing Programs?

Comments Filter:
  • by TripMaster Monkey ( 862126 ) * on Wednesday May 04, 2005 @02:28PM (#12433857)

    <humor>

    KmPlot!

    </humor>

    ^_^
  • gnuplot (Score:5, Informative)

    by Croatian Sensation ( 27341 ) on Wednesday May 04, 2005 @02:28PM (#12433859)
    If you want to make consistent looking graphs, with minimal effort, use GNUPLOT. Great piece of software.

    www.gnuplot.info [gnuplot.info]
    • Re:gnuplot (Score:3, Informative)

      by UtucXul ( 658400 )
      I'll not only second (or third or fourth) gnuplot, but will give a link to a tutorial I gave on it a little while ago.
      unix plotting tutorial [umd.edu]
      • The link you posted refer mainly to astronomical plots. Even if IDL can be considered a good image manipulation program I think it is a real pain to use it for data manipulation. Furthermore IDL and pm are pretty expensive.
  • And that's all I have to say about that
  • gnuplot (Score:3, Informative)

    by denominateur ( 194939 ) on Wednesday May 04, 2005 @02:28PM (#12433862) Homepage
    I use gnuplot for most things.. it takes a day or two to get used to it though so if you're out of time, try something else since it's not the best documented of projects. (generally i produce data graphs for physics lab reports)
  • gnuplot of course! (Score:5, Informative)

    by JFitzsimmons ( 764599 ) <justin@fitzsimmons.ca> on Wednesday May 04, 2005 @02:29PM (#12433864)

    gnuplot homepage [gnuplot.info]

    It has a learning curve, since it is mostly commandline based, but if you're in university you should be able to figure it out... I hope.

  • have you tried gnu plot?
  • GnuPlot (Score:3, Informative)

    by Chris Pimlott ( 16212 ) on Wednesday May 04, 2005 @02:32PM (#12433895)
    gnuplot [gnuplot.info] is good all sorts of arbitrary graphs, but you will have to read up on its syntax to learn how to use it - no nice GUIs. But it will produce very nice postscript output that looks quite sharp when printed.

    Although it's more a graphing tool, it's flexible enough to do charts, with a little work. Fortunately, there are scripts like Barchart [ptphong.com] that do most of the heavy lifting for you.
  • one perl method... (Score:3, Informative)

    by mike77 ( 519751 ) <mraley77&yahoo,com> on Wednesday May 04, 2005 @02:34PM (#12433914)
    Depending on how you have your data, this might be useful:


    http://search.cpan.org/~kester/Chart-Scientific-0. 15/ [cpan.org]


    Friend of mine wrote it a while ago to do 2-D scientific plotting. If you know some PERL, you might be able to get this to fill your needs.

  • use apt (Score:1, Interesting)

    by richi(3) ( 797547 )
    $ apt-cache search graph|grep graph|grep perl
    libcrypt-blowfish-perl - Blowfish cryptography for Perl
    libg20-perl - g2 2D graphics library (Perl module)
    libgd-graph-perl - Graph Plotting Module for Perl 5
    libgd-graph3d-perl - Create 3D Graphs with GD and GD::Graph
    libgeography-nationalgrid-perl - Class for a point and to transform coordinate systems
    libgraph-perl - graph operations
    libgraphics-colordeficiency-perl - Color Deficiency Simulation
    libgraphics-colornames-perl - defines RGB values for common color names
    l
  • Octave (Score:3, Informative)

    by CapnOats.com ( 805246 ) <mike.capnoats@com> on Wednesday May 04, 2005 @02:37PM (#12433941) Homepage
    Now don't quote me on this but i'm pretty sure gnu octave uses gnuplot as its engine.

    It's syntax is fairly similar to several large expensive math packages and it's fairly easy once you get the hang of it (just like everything in life).
    • Octave + GnuPlot is an amazing combination.

      Octave is 99% compatible with Matlab, although the nicest Octave features are not Matlab-compatible. (For example, I've never been able to figure out how to make a Matlab program automatically save a plot to a file, and DEFINATELY not in a format that's easy to include in other documents. In Octave, it's pretty easy to automatically output plots in a wide variety of formats without any manual intervention.)

      My typical workflow for projects in grad school is as f
      • EVERYTHING is in vector format so it prints just as nicely as it looks on screen.

        I've found with latex exporting to PostScript (instead of PDF) generally results in a document that looks BETTER on paper than on screen. Just a warning in case someone tries this, sees that the output doesn't look spectacular, and moves on. Try printing a page or two and see how it looks.

  • GRACE (Score:5, Informative)

    by trip11 ( 160832 ) * on Wednesday May 04, 2005 @02:44PM (#12434006) Homepage
    As several others mentioned gnuplot is a great program. If you would like a bit more GUI with your plotting I would recomend Grace (formally xmgrace). Its Free too. Website: http://plasma-gate.weizmann.ac.il/Grace/ [weizmann.ac.il] It only does 2D plots but handles them very nicely, can do fitting, read tables of text file data, and is very customizable as far as lables go. I use it to plot out most of my data by pulling it straight from the output through an awk script to format the data slightly and then open Grace. Give it a shot. Good luck with 3D plots, but I might recomend maple. Again with a bit of an awk script you can format the data into a form maple can read and plot out.
  • It's kind of confusing at first, but it's pretty powerful.

  • grace (Score:4, Informative)

    by 4of12 ( 97621 ) on Wednesday May 04, 2005 @02:50PM (#12434065) Homepage Journal

    Over here [weizmann.ac.il].

    Does bar charts.

  • by Monster Zero ( 58806 ) on Wednesday May 04, 2005 @02:50PM (#12434068) Homepage
    For all of my statistical analysis work, I use 'R', which is a pretty complete package for my uses. I use ploticus for all of my plots, and have been very happy with it, just be sure to read the docs before you get frustrated, as it takes a bit of reading to piece together a good plot. Ploticus has rudimentary statistics operators through an input filter mechanism (mean, std dev, min/max, etc) but for serious work R is where it is at.

    I usually input all of my data into PostgeSQL, use R to do an analysis and insert the new data into the DB, then use ploticus to pull directly from the DB and create PNG format plots. Couldn't be easier once setup, makes writing conference papers and whitepapers (relatively) easy. If you are regenerating the same style of plot lots of times, ploticus is well worth the effort of setting up the first time.

    http://www.r-project.org/ [r-project.org]
    http://ploticus.sourceforge.net/ [sourceforge.net]

  • Grace (Score:3, Insightful)

    by BlakeGarretson ( 619688 ) on Wednesday May 04, 2005 @02:50PM (#12434074) Homepage
    Without any doubt, Grace [weizmann.ac.il] is the best 2D plotting program there is. Everything is configurable so you can produce anything you can imagine. The output is publication quality; ready to go into papers, books, etc.
  • What I've used (Score:5, Informative)

    by asahetter ( 800625 ) on Wednesday May 04, 2005 @02:51PM (#12434077)
    I had the same problem as you last year. I tried gnuplot, which is good if you need to do some quick plots but are generally looked on as excel quality. I recommend XMGrace [weizmann.ac.il] for 2-dimentional stuff. (I've published papers using this). And Mayavi [sourceforge.net] for 3-D. Makes some nice purdy pictures.
    • Re:What I've used (Score:3, Informative)

      by ctalnh ( 542227 )

      It's true that gnuplot's outputs tend to be a bit rudimentary for print-quality graphs, but you can go back and edit the postscript output to prettify it. I've used Illustrator (which understands postscript natively) to post-process the plot contours, do plot insets, make pretty axis lables, and shade regions between contours.

      To me it just makes sense to separate the actual contour generation from the assembly of contours into final graphs. Since gnuplot is scriptable, I can do some simple data analysis (

    • I agree --- gnuplot is great for quick plots (once you've got the syntax down), but the simple output is fairly spartan, from an aesthetic point of view.

      To tweak the labels and make things pretty I find that I need to export plots to LaTeX via the PSLatex driver. My officemates (not LaTeX people) seem to get good results using XFig to doll up their gnuplot output, too.
  • by crmartin ( 98227 ) on Wednesday May 04, 2005 @02:58PM (#12434156)
    GNU plot, as several people have suggested.

    If your doing stats stuff, seriously look into R [r-project.org].

    ePix [holycross.edu] looks good, although I haven't tried it.

    asymptote [sourceforge.net] is very powerful, although you probably want to do some tool hacking or scripting to make use of it.

    Probably the ultimate tool for such things is Mathematica [mathematica.com]. Costs money, but the student version is feasible and it's a lovely for all this sort of thing.

    And, of course, you could try searching freshmeat --- there are many many other tools there.
  • How about JPGraph? (Score:3, Informative)

    by g_bowskill ( 801731 ) on Wednesday May 04, 2005 @03:03PM (#12434189) Homepage
    It's a very powerful set of php libraries which make it very easy to get graphs exactly how you want them, http://www.aditus.nu/jpgraph/ [aditus.nu]. I've used it in a number of situations and found it extremely fast and easy to use with really professional results.
  • Try R (Score:2, Informative)

    The open-source statistics package R [r-project.org] makes all kinds of graphs, has all kinds of great extensions for sophisticated statistical manipulations, has a following among professional statisticians, and is in active development. It is also pretty fast for large datasets, too. The language is a bit of a pain to use at first, though.

    Pirates like it, too.
  • I also have all sorts of 2D and 3D plotting requirements for work... The most complicated being the need to visualize scalar data associated with points on an arbitrary triangle (or square) mesh in 3D.

    At the moment, I use a combination of Matlab and Maple, both commercial programs that we have licenses for. They get the job done, but I find them both to be woefully inadequate. First and foremost, they are horrifically slow (at least in terms of actually plotting the data) for otherwise simple tasks.

    I d
  • by JeffL ( 5070 ) on Wednesday May 04, 2005 @03:08PM (#12434222) Homepage
    I like gnuplot for many things, but for bar graphs I think ploticus [sourceforge.net] is better.

    It is also free (gpl), and comes with example files for creating a variety of different graphs.

  • by Neil Blender ( 555885 ) <neilblender@gmail.com> on Wednesday May 04, 2005 @03:10PM (#12434242)
    If you don't mind dropping $99, ChartDirector [advsofteng.com] is pretty good. Good documentation, lots of features, good support, responsive to bug reports. It runs on Windows, Linux and FreeBSD.
  • VPython (Score:2, Interesting)

    by scherbi ( 21342 )
    VPython does some neat tricks, mostly 3D, but some 2D as well:
    http://vpython.org/ [vpython.org]

    ChartDirector produces snazzy looking charts, but Edward Tufte proably would not care for them:
    http://www.advsofteng.com/ [advsofteng.com]
  • by Short Circuit ( 52384 ) * <mikemol@gmail.com> on Wednesday May 04, 2005 @03:18PM (#12434313) Homepage Journal
    I haven't tried this yet, but it should work:

    OpenOffice's files consist of ZIPped XML files. If you create an example document in OpenOffice that is laid out how you want it, you should be able to update the content by replacing individual pieces of data in content.xml.

    That's one of the things I want to try with Citygen [citygen.org]...automatically generating OpenOffice documents will be niice. :)
    • I should point out how I'm going to do it. It's actually very simple, and shouldn't require any understanding of XML.

      For the template, in place of useful data, I'm going to have unique identifiers. (five or six randomly-chosen alphanumeric characters should do the trick.) Using sed, I'm going to replace each one of these pieces with a unique value.

      This should work fine for a date set whose length doesn't vary, like mine. If your data set length changes from report to report, you may need a bit better u
  • by mdecerbo ( 9857 ) on Wednesday May 04, 2005 @03:32PM (#12434447)
    If you just want an extremely basic program to make 2-dimenstion bar, line, or scatter graphs, xgraph [isi.edu] is about as bare-bones simple as they come.
    It runs on any Unix and dumps PostScript output files. Sometimes anything more is overkill.
  • http://scigraphica.sourceforge.net/ [sourceforge.net]
    From the website:"SciGraphica is a scientific application for data analysis and technical graphics. It pretends to be a clone of the popular commercial (and expensive) application "Microcal Origin". It fully supplies plotting features for 2D, 3D and polar charts. The aim is to obtain a fully-featured, cross-plattform, user-friendly, self-growing scientific application. It is free and open-source, released under the GPL license."
  • How about Star Office?
  • Depending on your needs you may use different programs for different tasks.

    * Ploticus (http://ploticus.sourceforge.net/ [sourceforge.net]) was alredy mentioned, but I could not overemphasize its conceptual beauty and rich functionality. You may use it from a command line, which IMO is a great advantage.
    * GNU plot. Old but viable solution
    * If you need to do some things that are unavailable in other charting programs you may take a look at low-level libraries, such as GD (http://www.boutell.com/ [boutell.com])

    • ABSOLUTELY SECOND THE MOTION FOR GD.

      In combination with Perl, which has a neato module for using this, you can create very nice, functional graphs with minimal fuss.

      I automated the creation of a set of graphs for a project I was working on. The hardest part was rebuilding Perl to include the GDI interface. But, that's much better documented than it was, and there's several subclass / extension modules to simplify life even further (check at CPAN.org for more info on GD, but a first link is: http://cpa [uwinnipeg.ca]
  • qtiplot (Score:2, Informative)

    by Anonymous Coward

    Most responses are gnuplot, which is pretty good although a bit crude.

    I personally use Kpl (http://frsl06.physik.uni-freiburg.de/privat/still e/kpl/ [uni-freiburg.de]), but I feel QtiPlot (http://soft.proindependent.com/qtiplot.html [proindependent.com]) has a lot of potential.

    Hope that helps.

  • yep, it's commercial, but that's if gnuplot isn't powerfull enough.

    otherwise, if you want to make stats more than just for fun/to learn, you may want to give SPSS a try (well, that's what most ppl I know use for such kind of stuff, not personnal experience)
  • haven't looked into it, but I've thought about trying to use SVG for this kind of thing next time the situation arose ...
  • Java: JFreeChart (Score:2, Informative)

    by HalWasRight ( 857007 )
    If you are facile with Java, or your data is already in a javax.swing.table.TableModel, then I suggest JFreeChart [jfree.org].
  • play doh! makes bars... comes in cylinders... lots of color, just like graphs! whoopee!
  • ROOT (Score:2, Informative)

    by teelasdad ( 796062 )
    http://root.cern.ch/ [root.cern.ch]
    Not quite the simplest program, but it can do what you want, is for free and available for a lot of platforms.
    T
  • http://maxima.sourceforge.net/ [sourceforge.net]
    Might be able to do bar graphs.
  • HyperGraph: http://www.altair.com/software/hw_hg.htm [altair.com] Used this software at a previous job to produce XY plots for transient Dytran data. Plots look great, it's pretty flexible and Unix support.
  • by jgrahn ( 181062 )
    Quoting the man page of Ted Faber's implementation:

    grap is an implementation of Kernighan and Bentley's language for type- setting graphs, as described in ``Grap-A Language for Typesetting Graphs, Tutorial and User Manual,'' by Jon L. Bentley and Brian W. Kernighan, revised May 1991, which is the primary source for information on how to use grap. As of this writing, it is available electronically at http://www.kohala.com/start/troff/cstr114.ps [kohala.com]

    It ties in with TeX and tro

  • If KChart, Gnumeric, or Open Office can't do bar graphs, then you might as well flush them down the toilet. These must be some mighty fancy bar graphs...
  • If you're using python, consider using Biggles [sourceforge.net]. It does create nice 2D charts.
  • I've also had this problem and found that xmgrace is by far the best program to use, although it only does 2D.
    It can prepare publication-quality plots and lets you get the formatting just right, unlike, say, tecplot. Xmgrace also has data processing features (derivative, multiplication, etc). You can also make templates.

    The only downside is that the advanced features of xmgrace aren't obvious at first -- it took me quite a while to figure out things like greek letters, templates, etc.
  • Honestly, it sounds like you need to try out GraphPad Prism [curvefit.com] -- although it's currently only a *dows program.

    I've asked your same question in one of my posts. I haven't been diligently looking for an alternative to Graphpad Prism in Linux, because at the current moment I have an XP system running it. I've tried to install and run GraphPad Prism using Wine, and it installs fine, but graphics rendering when starting up the program fails.

    I'm a biologist who needs an easy to use graphing program that creates p
  • by hubertf ( 124995 ) on Wednesday May 04, 2005 @07:07PM (#12436511) Homepage Journal
    www.r-project.org

    For my PhD thesis I had to produce a lot of bargraphs etc. recently, and found R combined with some perl scripts a wonderful tool.

    - Hubert
  • by Noksagt ( 69097 ) on Wednesday May 04, 2005 @07:50PM (#12436908) Homepage
    DANSE has a great review [caltech.edu] of a lot of different options. Most are cross-platform and scriptable and many are open source. They are interested in building python-based tools for neutron scattering experiments, so there is that bias to the wiki. But they have good screenshots & good pros/cons that many other projects can relate to.

    As others have suggested, Grace [weizmann.ac.il] is fantastic for 2D. Hippodraw [stanford.edu] is the most under-rated/unheard of that is also quite amazing. I use them both. I also use Matplotlib [sourceforge.net] with my python work.

    If you do LaTeX & script your plots, Gri [sourceforge.net] is a good bet.

    I have sometimes used gnuplot & Scigraphica, but they are less useful to me. A lot of other people still use gnuplot, so it is always good to have in the toolkit. It also has decent 3D that is not present in my preferred 2D programs. But it is uglier and clumsier than alternatives. Scigraphica wants to be Microcal Origin, but it isn't there yet. It also dropped out of development for quite a while.

    I like open source. But if you are agnostic (and have deep pockets), I always thought tecplot [tecplot.com] looked cool.
    • Hippodraw is called "freeware," but I can't find anything more specific. The Mac installer package (which was not created by HippoDraw maintainers) has a GPL notice, but the raw HippoDraw sources have no license info other than a notice that it was written under support of the U. S. government. Are the HippoDraw C++ libraries GPL, LGPL, BSD-like, Public Domain, or what?

      • It is under the GPL-2.0.

        Yes, it is very hard to figure out. I figured it most likely was, as it ships with QT & other GPLed goodies.

        But a 'grep -r GPL *' will confirm that they include the GPL (in the vs.net2003/setup directory).
        • I'm not saying you're wrong, but you're not convincing. Just because it's built on Qt and other libraries which you may optionally compile in are GPL does not imply that HippoDraw is GPL.

          Isn't it conceivable that the HippoDraw software in its original form is more free than GPL (e.g. PD or BSD), but the people who prepared the "Visual Studio Project Files" and pre-built versions of HippoDraw impose the GPL on their modifications to the distribution? That's what I'm trying to find out.

          Doesn't it strike you
          • It really isn't THAT surprising. A lot of national lab/university-created software isn't careful about licensing. Indeed, a lot of both uncompiled and compiled distributions are packed only with something like DISCLAIMER.rtf, which basically says "we ain't liable."

            Feel free to ask the author, though. Given that SOME of the contents in all distro files are explicitly GPLed, I'd follow that without the explicit written permission of the author.
      • I got my reply back:
        I'm told by my tech transfer office to release HippoDraw in the public domain. That is no license, you're free to do what you want. I should say that in some file in the distribution, but haven't gotten around to it yet.
  • Many people recommend gnuplot. However, gnuplot is not that easy to use. I'd recommend Octave, a matlab clone, as a frontend to gnuplot.

    At least I find it far far far better.
  • Try GMT (Generic Mapping Tools) at http://gmt.soest.hawaii.edu/ [hawaii.edu]

    Widely used by people in the geophysics field. It's open source, and for the basic linux user it can be a slightly fiddly to get up and running.

    It's a collection of command line tools that generate postscript output. You can basically customise everything to your exact tastes, and re-use the scripts if you want consistent graphs and charts.

    • GMT does produce publication quality graphs, the install is a bit more than fiddly, I'd grade cranky, about 3 tries, but well worth the effort. The learning curve is steep, because it will do just about anything you can think up. If GMT can't do it, i'd think about some serious hacking on POVRAY.
  • 2D & 3D plotsq (Score:4, Informative)

    by Mendenhall ( 32321 ) * on Wednesday May 04, 2005 @09:21PM (#12437536)
    OK, I vote with a lot of other people on Grace/xmgrace for 2d plotting.

    For higher dimensionality visualization, though, nobody has mentioned openDX (www.opendx.org). What other plotting and visualization program can easily plot 6-dimensional data (for example, a rank-3 tensor field) on a 3d space?

    OpenDX takes a little while to really understand, but once you get it, the payoff is trmendous. It has a very general data model that allow one to have arbitrary topology connecting your values, from completely scattered points with no explicit relation, to various meshes such as simplices (triangles/tets), cubic/hypercubic lattices, and many more.

    Also, it represents data in files very flexibly, so one can put structural information in a small, simple file, and reference a larger (potentially huge), external file for the actual data.
  • pychart [gna.org] it is pretty easy to use and makes excelent charts and graphs.
  • OpenOffice.org spreadsheet was not suitable?

    You need bar graphs --

    pic, grap (you will have to add), gnuplot, postscript.

    All more complicated than OO. pic is a drawing language for troff. grap will do simple graphs (but you will have to download and install it), gnuplot is a workhorse for doing plots, but is many times more difficult than OO. And, you can always program in postscript directly! [and there are many more ways to make simple charts, including paint style programs).

    Or, use OO.org

    With OO.org,
  • Matlab style; works everywhere, outputs any format, uses any graphics backend. Look at the beautiful screenshots and how easy it is to generate them. Free (gratis and libre). Python License.

    matplotlib site [sourceforge.net]
  • Gnuplot does work, but its not the most user friendly piece of software, and while I've used it for rough-and-ready visualisation, I've never been able to get attractive (i.e. publishable quality) results out of it.

    Since you don't specify free software, can I recommend the graphical capabilities of Matlab [mathworks.com]? As well as being endlessly scriptable and versatile, there's a GUI so you can place text and symbols anywhere you like. There's a native Linux version, and as you're a student you should be able to buy
  • Veusz (Score:3, Interesting)

    by xiox ( 66483 ) on Thursday May 05, 2005 @07:00AM (#12439827)
    I would recommend my own program Veusz [gna.org]! It is written in Python and is designed for publication-quality output. It doesn't do 3D plotting however, but I think the user interface is quite nice.

    Jeremy
  • take a look at gmt. it's mostly for gis related stuff, but you can use it for damn near anything

    generates postscript too, so it should be easy to integrate into your other docs
  • . . . give IDL [rsinc.com] a try. It's very expensive - several thousand for a personal license. But, you campus may have some network licenses you can use. Try asking someone in astronomy or physics, or possibly geo.

    I'm a huge open source fan, and it really riles me to have to use proprietary software, but it's hard to match what IDL can do. With a little practice you can go from raw data to publication quality plots in a staggeringly short period of time.

    So far I've yet to find anything close in the open

  • Its very expensive, but most colleges do have licenses. It can do pretty much anything and is widely used in the technical community, both acedemic and proffesional.
  • jgraph [utk.edu] is quite nice. It does most of the same things as gnuplot, and is (in my opinion) a bit easier to use.

For God's sake, stop researching for a while and begin to think!

Working...