Graph Utils (Open-Source)

Christopher O'Brien obriapqz at bc.edu
Mon Feb 21 18:21:36 UTC 2011


On 02/20/11 23:45, Jimmy Hess wrote:
> On Fri, Feb 18, 2011 at 1:13 PM, Max Pierson <nmaxpierson at gmail.com> wrote:
>> Anyone out there using something other than rrdtool for creating graphs?? I
>> have a project that will need a trend taken, and unfortunately rrdtool
>> doesn't fit the bill. All of the scripting, data collection,
>> database archival, etc will be custom written or is already done (with some
>> hacks of course :). So really what i'm looking for is something along the
>> lines of GNUplot. Has anyone used it before and would like to share
> 
> I haven't heard of gnuplot used often with other software as a framework
> for graphing/visualizations. For simple visualizations,  I think usually a
> 'native'  framework/API is preferred, e.g. JGraph for java apps.
> 
> I suspect one reason gnuplot is not used as widely as it could be otherwise
> is, its  licensing is not as  "friendly" as other graphics frameworks.
> gnuplot license is GPL incompatible and does not seem to even fully meet
> the open source definition,
> 
> Because redistributing complete modified source code of gnuplot itself
> is not allowed by the license;  a clear reading of gnuplot license suggests
> only patches, unmodified source code, can be freely redistributed,
> redistributed binaries based on modified source have special rules).
> 
> 
> Aside from that caveat,  which most likely does not normally impair private
> use by a network operator: gnuplot is a really good tool.
> If you need to paint a bunch of  arbitrary X and Y values   on a graph from
> an input file or based on simple equations,   gnuplot will happily
> oblige; it can
> handle chart types  rrdtool cannot, and you have more direct control of output.
> 
> If you want some 3D / surface graphs, RRDTool won't do it, anyways.
> Gnuplot's less expensive
> than Matlab / Maple.
> 
> You can even set terminal type to "dumb" in gnuplot, and generate some fancy
> ASCII art graphs on stdout.
> 
> 
> In regards to scalability...
> 
> About the millions of rows... err..
> Try plotting a test dataset with 500 million datapoints.    Chances
> are gnuplot won't
> necessarily scale that well either, and you need some method to be
> selective of which rows are
> provided as input to the plotting framework, in that case.
> 
> If you have a  million datapoints on your X axis,  each X position is
> smaller than  1/1000 of
> a display pixel   (on a graph that fits on a display at say  1920x1080);
> displaying such high resolution of all datapoints at once on the
> unzoomed graph is beyond
> the display hardware capabilitiy.
> 
> there should normally be some form of averaging / smoothing /
> "selection of points"  contemplated,
> if the dataset is huge
> 
>> experiences?? Seems like it will be able to my plot data accordingly, but
>> wanted to see if there were any other popular tools I've yet to come across.
>>
>> (Open-Source only please)
> 
> --
> -JH
> 
If you can use Java, JfreeChart is pretty nice.  It has the ability to
create many different types of charts/grpahs.  I've only used it a
little bit for a project I was looking into that uses it, but it seems
really capable.  I think it's licensed under gpl or lgpl, but the
creator charges for documentation/examples if you need them.

http://www.jfree.org/jfreechart/




More information about the NANOG mailing list