Use gnuplot to dynamically generate Web pages from your system using raw data to provide graphic images. This raw data typically contains MIS-related information, on system performance, storage, or database growth.
Use gnuplot to dynamically generate Web pages from your system using raw data to provide graphic images. This raw data typically contains MIS-related information, on system performance, storage, or database growth.
Use JavaScript and one of the dozens of graphing toolkits out there, most of which are even ie6 compatible. Only someone clueless about the Web sees a need to generate graphs offline when they can be done client-side easier, cheaper, and will look waay better (plus can be made interactive).
If you only have a small set of PNGs, using a toolkit + dataset is overkill, since it would probably greatly outweigh the size of the images. You have to consider importance of customization (given by the toolkit or Flash) vs data transferred. The answer is not always the same, it depends on the circumstances.
To render a graph client side you have to send the underlying data to the client. I can think of several reasons why you wouldn’t want to do this. Sometimes generating the graph on the server is the correct solution. Right tool for the job and all that.
You don’t have to send the raw data, you can just send the graph points, perhaps in condensed format.
So you’d need to calculate the graph points on server side; at this point you’ll see that you would be better off just doing pretty much all the drawing on server side.
I don’t think so, graph data generation is different from graph drawing. The latter requires some drawing/plotting library or program on the server side. I find it easier and lighter weight to just change the graph points into json, send it to the client, have javascript render it, and be done with it.
You need some smarts to generate the datapoints from raw data; drawing on png canvas is the easy part. Actually getting the graph is easy and fast with a system like, say, matplotlib (that I’ve played with myself).
For trivial “business” graphs it won’t matter either way, but when we are talking with heavy duty data, you want to do the drawing on server side, like here:
http://labs.trolltech.com/blogs/2009/09/29/exploring-qt-performance…
Just a note: Despite it’s name gnuplot is not free software.
From wikipedia
“The program is distributed under a license which permits copying and modification of the source code. However, modified versions are only allowed to be distributed as patch files.”
This makes it impossible for other projects to include code from gnuplot in thier code and also makes forking practically impossible.
I will also recommend matplotlib. As it’s a python plotting library you can use it with mod_python in apache and generate the graphs upon request and not offline!
Interestingly, an online college course in Perl and Modperl/CGI from Brooklyn College that I took used gnuplot to generate an image. So this is old hat to me.
Yeah, I thought something similar. At my old place of employment, we had a number of web tools that used GnuPlot and they were written in the mid-90s, almost 15 years ago. So why this article now?
If you don’t want to send out the data and do client side graph rendering (check out flotr) I would use RRDTool. The graphs look much nicer and at the same time it solves the “which database” question.
Gnuplot’s strength is in digesting large data volumes, when other lesser (if prettier) tools fall over.
Contrary to their sleazy use of ‘GNU’ in the name, it is not free software. Its license is probably closest to the Microsoft “Shared Source License”, basically, look, but can’t touch, or USE.
Users are strictly prohibited from releasing any modified or forked version of gnuplot. The authors only permit distribution of ‘patches’. Thus, you can not modify, fork, or use it in your own software. Even using to render web content as promoted by the article probably violates the gnuplot license terms.
Besides, output quality of gnuplot is CRAP, compared to WAY BETTER libraries like matplotlib, which is python based, and does produce publication quality output, as well as SVG output, and is EASILY embedded in web servers.
Also, gnuplot has its own language, yup, another freaking lame proprietary language that you have to learn. While, matplotlib is Python, you know python, you know matplotlib.
I do not know why anyone would continue to use such an inferior product, when there are FREE, OPEN SOURCE alternatives, like matplotlib which are better in every measurable sense.
The simplest answer is, “the same reason people still use FORTRAN.” GnuPlot has a lot of mind-share in the scientific community: for may scientists, GnuPlot is a proven and effective tool, that they understand and know how to use, while Python and matplotlib are the “new language to learn.”
To say nothing about GnuPlot’s quality as a tool, which I think you also radically under-estimate.