This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
From: Brian Avis <brian.avis@searhc.org> To: mason-users@lists.sourceforge.net Subject: [Mason] Graphing Date: Fri, 22 Nov 2002 10:31:54 -0900 Hi all, I have just been asked to provide various graphs on the web pages for various data. Does anyone have any advice on the best and quickest way to implement this? Should the graphs be created as images with a mason component and the have the web page point to that image? Is there a way in mason to send the image directly to the browser? Any advice would be welcome. Thanks. === From: <siberian@siberian.org> Subject: Re: [Mason] Graphing To: Brian Avis <brian.avis@searhc.org>, mason-users@lists.sourceforge.net Date: Fri, 22 Nov 2002 12:13:13 -0800 I use rrd graphs. It works really well and interfacing with it is extremely simple. The images we use are dynamically generated by Mason interacting with the standard RRD tool suites and some perl libs wrapped around them. google 'rrd graph' and you'll get a ton of good info and sample implementations. === From: Philip Molter <philip@texas.net> To: siberian@siberian.org Cc: Brian Avis <brian.avis@searhc.org>, mason-users@lists.sourceforge.net Subject: Re: [Mason] Graphing Date: Fri, 22 Nov 2002 14:27:26 -0600 On Fri, Nov 22, 2002 at 12:13:13PM -0800, siberian@siberian.org wrote: : I use rrd graphs. It works really well and interfacing : with it is extremely simple. The images we use are : dynamically generated by Mason interacting with the : standard RRD tool suites and some perl libs wrapped around : them. Note that RRD's a great tool, but it's limited to a specific feature set, mainly handling data sets over time. If you don't want your X-axis to be time, RRD's probably not going to be right for you, and if moment-in-time accuracy is your goal, RRD's definitely not your friend. Check out GD and GD::Graph for more generic graphing mechanisms. : >I have just been asked to provide various graphs on the : >web pages for various data. Does anyone have any advice : >on the best and quickest way to implement this? Should : >the graphs be created as images with a mason component : >and the have the web page point to that image? Is there : >a way in mason to send the image directly to the browser? : > Any advice would be welcome. Thanks. : > As for how to do it under Mason, I use separate CGI scripts for graphs when I don't *need* the Mason environment, and I just write a simple component to output the data when I do need it (for things like session or globals). BTW, the way to have Mason send the image directly to the browser is to reference the component in the <img src="" /> tag. === From: Brian Avis <brian.avis@searhc.org> Subject: Re: [Mason] Graphing To: Philip Molter <philip@texas.net> Cc: siberian@siberian.org, mason-users@lists.sourceforge.net Date: Fri, 22 Nov 2002 11:34:57 -0900 So I can setup a simple CGI script that can accept a bunch of data from the POST or GET stuff. And then just use that script within an img tag to output it to the browser? What I am envisioning is a data set of monthly, quarterly, or yearly data with an unknown number of years. For example Years 2000 2001 2002 Months 1 2 3 4 5 6 7 8 9 10 11 12 The user would select what type of graph they want, then the graph type, colors, data and so forth would be fed to a component that would send a graph to the browser. === From: Philip Molter <philip@texas.net> To: Brian Avis <brian.avis@searhc.org> Cc: siberian@siberian.org, mason-users@lists.sourceforge.net Subject: Re: [Mason] Graphing Date: Fri, 22 Nov 2002 14:49:38 -0600 On Fri, Nov 22, 2002 at 11:34:57AM -0900, Brian Avis wrote: : So I can setup a simple CGI script that can accept a bunch of data from : the POST or GET stuff. And then just use that script within an img tag : to output it to the browser? Yes. You can do that. === From: Brian Avis <brian.avis@searhc.org> To: mason-users@lists.sourceforge.net Subject: [Mason] Graphs are harder than I thought. :) Date: Fri, 22 Nov 2002 13:48:50 -0900 I am testing the idea of using CGI to stuff a quick graph into my page. So I set this simple stuff up. Which of course is not working. Otherwise why would I be here with a question. On the page where the graph should display. <img src="http://uranus/graphs/create.cgi"> And then the CGI bit. #!/usr/bin/perl -wT use strict; use CGI; use GD::Graphs::linespoints; my $q = new CGI; @data = ( ["1st", "2nd", "3rd", "4th", "5th"], [ 1, 2, 3, 4, 5]); my $graph = GD::Graph::linespoints(400, 300); $graph->set( title => 'TEST', x_label => 'X', y_label => 'Y', y_max_value => 40, y_min_value => 0, y_tick_number => 8, y_label_skip => 2, types => ["linespoints"]); $graph->set_legend("X", "Y"); my $image = $graph->plot(\@data); print $q->header( -type => "image/png", -expires => "now"); binmode STDOUT; print $gd_image->png; I can create a graph just fine in a regular perl program. But I can't stuff one automagically into a web page. When the web page loads the little square pops up to show that there should be an image there (it dissappears quickly) but no image. And I have no idea why? Am I missing something obvious (as usual) or do I have to do something with mason to let the cgi stuff run through it? === From: Steven Saner <ssaner@pantheranet.com> To: mason-users@lists.sourceforge.net Subject: Re: [Mason] Graphs are harder than I thought. :) Date: Fri, 22 Nov 2002 17:54:31 -0600 1st, you should be able to get the CGI to work, by itself, from a browser. Can you point your browser to the URL and get a graphic to come back at you? If not, then that is where you should look. 2nd, look at your web server logs to see if the cgi is being called an if there are any errors. ===