version 1.137, 2003/10/29 15:21:10
|
version 1.138, 2003/10/29 15:47:52
|
Line 2678 sub check_if_partid_hidden {
|
Line 2678 sub check_if_partid_hidden {
|
return undef; |
return undef; |
} |
} |
|
|
|
|
|
############################################################ |
|
############################################################ |
|
|
|
=pod |
|
|
|
=head1 cgi-bin script and graphing routines |
|
|
|
=item get_cgi_id |
|
|
|
Inputs: none |
|
|
|
Returns an id which can be used to pass environment variables |
|
to various cgi-bin scripts. These environment variables will |
|
be removed from the users environment after a given time by |
|
the routine &Apache::lonnet::transfer_profile_to_env. |
|
|
|
=cut |
|
|
|
############################################################ |
|
############################################################ |
|
|
sub get_cgi_id { |
sub get_cgi_id { |
return (time.'_'.int(rand(1000))); |
return (time.'_'.int(rand(1000))); |
} |
} |
Line 2689 sub get_cgi_id {
|
Line 2711 sub get_cgi_id {
|
|
|
=item DrawBarGraph |
=item DrawBarGraph |
|
|
|
Facilitates the plotting of data in a (stacked) bar graph. |
|
Puts plot definition data into the users environment in order for |
|
graph.png to plot it. Returns an <img> tag for the plot. |
|
The bars on the plot are labeled '1','2',...,'n'. |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
=item $Title: string, the title of the plot |
|
|
|
=item $xlabel: string, text describing the X-axis of the plot |
|
|
|
=item $ylabel: string, text describing the Y-axis of the plot |
|
|
|
=item $Max: scalar, the maximum Y value to use in the plot |
|
If $Max is < any data point, the graph will not be rendered. |
|
|
|
=teim $colors: array ref holding the colors to be used for the data sets when |
|
they are plotted. If undefined, default values will be used. |
|
|
|
=item @Values: An array of array references. Each array reference holds data |
|
to be plotted in a stacked bar chart. |
|
|
|
=back |
|
|
|
Returns: |
|
|
|
An <img> tag which references graph.png and the appropriate identifying |
|
information for the plot. |
|
|
=cut |
=cut |
|
|
############################################################ |
############################################################ |
Line 2774 sub DrawBarGraph {
|
Line 2827 sub DrawBarGraph {
|
|
|
=item DrawXYGraph |
=item DrawXYGraph |
|
|
|
Facilitates the plotting of data in an XY graph. |
|
Puts plot definition data into the users environment in order for |
|
graph.png to plot it. Returns an <img> tag for the plot. |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
=item $Title: string, the title of the plot |
|
|
|
=item $xlabel: string, text describing the X-axis of the plot |
|
|
|
=item $ylabel: string, text describing the Y-axis of the plot |
|
|
|
=item $Max: scalar, the maximum Y value to use in the plot |
|
If $Max is < any data point, the graph will not be rendered. |
|
|
|
=item $colors: Array ref containing the hex color codes for the data to be |
|
plotted in. If undefined, default values will be used. |
|
|
|
=item $Xlabels: Array ref containing the labels to be used for the X-axis. |
|
|
|
=item $Ydata: Array ref containing Array refs. |
|
Each of the contained arrays will be plotted as a seperate curve. |
|
|
|
=item %Values: hash indicating or overriding any default values which are |
|
passed to graph.png. |
|
Possible values are: width, xskip, x_ticks, x_tick_offset, among others. |
|
|
|
=back |
|
|
|
Returns: |
|
|
|
An <img> tag which references graph.png and the appropriate identifying |
|
information for the plot. |
|
|
=cut |
=cut |
|
|
############################################################ |
############################################################ |
Line 2796 sub DrawXYGraph {
|
Line 2885 sub DrawXYGraph {
|
$id.'.y_max_value'=> $Max, |
$id.'.y_max_value'=> $Max, |
$id.'.labels' => join(',',@$Xlabels), |
$id.'.labels' => join(',',@$Xlabels), |
$id.'.PlotType' => 'XY', |
$id.'.PlotType' => 'XY', |
$id.'.NumSets' => 1, |
|
); |
); |
# |
# |
if (defined($colors) && ref($colors) eq 'ARRAY') { |
if (defined($colors) && ref($colors) eq 'ARRAY') { |
Line 2807 sub DrawXYGraph {
|
Line 2895 sub DrawXYGraph {
|
return ''; |
return ''; |
} |
} |
my $NumSets=1; |
my $NumSets=1; |
foreach my $array ($Ydata){ |
foreach my $array (@{$Ydata}){ |
next if (! ref($array)); |
next if (! ref($array)); |
$ValuesHash{$id.'.data.'.$NumSets++} = join(',',@$array); |
$ValuesHash{$id.'.data.'.$NumSets++} = join(',',@$array); |
} |
} |
|
$ValuesHash{$id.'.NumSets'} = $NumSets-1; |
# |
# |
# Deal with other parameters |
# Deal with other parameters |
while (my ($key,$value) = each(%Values)) { |
while (my ($key,$value) = each(%Values)) { |
Line 2821 sub DrawXYGraph {
|
Line 2910 sub DrawXYGraph {
|
return '<img src="/cgi-bin/graph.png?'.$identifier.'" border="1" />'; |
return '<img src="/cgi-bin/graph.png?'.$identifier.'" border="1" />'; |
} |
} |
|
|
|
|
############################################################ |
############################################################ |
############################################################ |
############################################################ |
|
|
=pod |
=pod |
|
|
=item DrawXYGraph |
=item DrawXYYGraph |
|
|
|
Facilitates the plotting of data in an XY graph with two Y axes. |
|
Puts plot definition data into the users environment in order for |
|
graph.png to plot it. Returns an <img> tag for the plot. |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
=item $Title: string, the title of the plot |
|
|
|
=item $xlabel: string, text describing the X-axis of the plot |
|
|
|
=item $ylabel: string, text describing the Y-axis of the plot |
|
|
|
=item $colors: Array ref containing the hex color codes for the data to be |
|
plotted in. If undefined, default values will be used. |
|
|
|
=item $Xlabels: Array ref containing the labels to be used for the X-axis. |
|
|
|
=item $Ydata1: The first data set |
|
|
|
=item $Min1: The minimum value of the left Y-axis |
|
|
|
=item $Max1: The maximum value of the left Y-axis |
|
|
|
=item $Ydata2: The second data set |
|
|
|
=item $Min2: The minimum value of the right Y-axis |
|
|
|
=item $Max2: The maximum value of the left Y-axis |
|
|
|
=item %Values: hash indicating or overriding any default values which are |
|
passed to graph.png. |
|
Possible values are: width, xskip, x_ticks, x_tick_offset, among others. |
|
|
|
=back |
|
|
|
Returns: |
|
|
|
An <img> tag which references graph.png and the appropriate identifying |
|
information for the plot. |
|
|
=cut |
=cut |
|
|