The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Chart::Base Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><b>Chart</b>      </li>
      <li><a class="el" href="classChart_1_1Base.html">Chart::Base</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<h1>Chart::Base Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Chart::Base" -->
<p><a class="el" href="classChart_1_1Base.html" title="Base class for Chart; all other classes derived from here.">Base</a> class for Chart; all other classes derived from here.  
<a href="#_details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Chart::Base:</div>
<div class="dyncontent">
<div class="center"><img src="classChart_1_1Base__inherit__graph.png" border="0" usemap="#Chart_1_1Base_inherit__map" alt="Inheritance graph"/></div>
<map name="Chart_1_1Base_inherit__map" id="Chart_1_1Base_inherit__map">
<area shape="rect" id="node3" href="classChart_1_1Bars.html" title="Bars class provides all functions which are specific to vertical bars." alt="" coords="173,5,261,35"/><area shape="rect" id="node5" href="classChart_1_1BrushStyles.html" title="Define styles for Points and LinesPoints classes." alt="" coords="152,58,283,89"/><area shape="rect" id="node7" href="classChart_1_1Composite.html" title="Composite class derived from class Base." alt="" coords="156,111,279,142"/><area shape="rect" id="node9" href="classChart_1_1Direction.html" title="Direction class derived class for Chart to implement direction charts." alt="" coords="161,165,273,195"/><area shape="rect" id="node11" href="classChart_1_1ErrorBars.html" title="ErrorBars class derived from class Base." alt="" coords="160,218,275,249"/><area shape="rect" id="node13" href="classChart_1_1HorizontalBars.html" title="HorizontalBars class derived from class Base." alt="" coords="144,271,291,302"/><area shape="rect" id="node15" href="classChart_1_1Lines.html" title="Lines class derived from class Base." alt="" coords="172,325,263,355"/><area shape="rect" id="node17" href="classChart_1_1LinesPoints.html" title="LinesPoints class connect the given x&#45;/y&#45;values by straight lines and the x&#45;/y&#45;values are plotted by ..." alt="" coords="153,378,281,409"/><area shape="rect" id="node19" href="classChart_1_1Mountain.html" title="Mountain class derived class for Chart to implement mountain type of plots." alt="" coords="160,431,275,462"/><area shape="rect" id="node21" href="classChart_1_1Pareto.html" title="Pareto class derived class for Chart to implement." alt="" coords="168,485,267,515"/><area shape="rect" id="node23" href="classChart_1_1Pie.html" title="Pie class derived class for Chart to implement pies." alt="" coords="177,538,257,569"/><area shape="rect" id="node25" href="classChart_1_1Points.html" title="Points class derived from class Base." alt="" coords="169,591,265,622"/><area shape="rect" id="node27" href="classChart_1_1Split.html" title="Split class derived from class Base." alt="" coords="175,645,260,675"/><area shape="rect" id="node29" href="classChart_1_1StackedBars.html" title="StackedBars class derived from class Base." alt="" coords="149,698,285,729"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for Chart::Base:</div>
<div class="dyncontent">
<div class="center"><img src="classChart_1_1Base__coll__graph.png" border="0" usemap="#Chart_1_1Base_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classChart_1_1Base-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Hash&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a38c2792df08724efa7c4e1b9194cbe6e">named_colors</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RGB values of named colors.  <a href="#a38c2792df08724efa7c4e1b9194cbe6e"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Private Functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp8d29cff216bafa3117e21883ea7c6b5f"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a13296be5b92a9880851977fe0abfdf01">_check_data</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check the internal data to be displayed.  <a href="#a13296be5b92a9880851977fe0abfdf01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ab021c0dceb1ae55e1697bbee667480fa">_draw</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plot the chart to the gd object<br/>
 Calls:  <a href="#ab021c0dceb1ae55e1697bbee667480fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#addecc110eb46a126acaad69e113d06ea">_set_colors</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">specify my colors  <a href="#addecc110eb46a126acaad69e113d06ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a14098e898b9f9b5dca8d7a39ab9d4d57">_color_role_to_index</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return a (list of) color index(es) corresponding to the (list of) role(s)  <a href="#a14098e898b9f9b5dca8d7a39ab9d4d57"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a2c02f66668131d6567338965e821d87a">_brushStyles_of_roles</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return a (list of) brushStyles corresponding to the (list of) role(s)  <a href="#a2c02f66668131d6567338965e821d87a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aa3467472a4c4a598c5a2f64de8c438c1">_draw_title</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the title for the chart  <a href="#aa3467472a4c4a598c5a2f64de8c438c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a060d522a2f0240cad4c746891d488f80">_default_f_tick</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default tick conversion function This function is pointed to be $self-&gt;{f_x_tick} resp.  <a href="#a060d522a2f0240cad4c746891d488f80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a1f3ae34864bf296fafcab63416926b83">_xyRatio</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get ratio width_x/width_y.  <a href="#a1f3ae34864bf296fafcab63416926b83"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ac21e93fb6498ea3137e15fd348e7b9ff">_xPixelInReal</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get witdh of one Pixel in real coordinates in x-direction.  <a href="#ac21e93fb6498ea3137e15fd348e7b9ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#afe24ee8f28c900069e65ddd666a242ff">_yPixelInReal</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get witdh of one Pixel in real coordinates in y-direction.  <a href="#afe24ee8f28c900069e65ddd666a242ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a0803aa94dabfc982195cab15392ba7bc">_init</a> (scalar x, scalar y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize all default options here.  <a href="#a0803aa94dabfc982195cab15392ba7bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ac704c89b5b4b3f3f0e6fa35d6c5ca6c3">_copy_data</a> (scalar extern_ref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy external data via a reference to internal memory.  <a href="#ac704c89b5b4b3f3f0e6fa35d6c5ca6c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private array&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a6a97b446c6c2f646dddd7f2a0076ba2e">_color_spec_to_rgb</a> (scalar role, scalar spec)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an array (list of) rgb values for spec.  <a href="#a6a97b446c6c2f646dddd7f2a0076ba2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#afd4f3ee3925d1e765e099c80e6c98da7">_draw_sub_title</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the sub-title for the chart  <a href="#afd4f3ee3925d1e765e099c80e6c98da7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ade88df5ecdc74e50ea683b63424ba84a">_sort_data</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sort the data nicely (mostly for the pareto charts and xy-plots)  <a href="#ade88df5ecdc74e50ea683b63424ba84a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a694b293ee3d92e706b1743cb1fa9d09d">_find_x_scale</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For a xy-plot do the same for the x values, as '_find_y_scale' does for the y values!  <a href="#a694b293ee3d92e706b1743cb1fa9d09d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#acb2fe91b2d57e43d84b1bc6f092ac68d">_find_y_scale</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">find good values for the minimum and maximum y-value on the chart  <a href="#acb2fe91b2d57e43d84b1bc6f092ac68d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a23f7394cb8c7bbe6a5d0e05582e038c9">_calcTickInterval</a> (scalar dataset_min, scalar dataset_max, scalar flag_fixed_min, scalar flag_fixed_max, scalar minTicks, scalar maxTicks)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Interval between ticks in y direction.  <a href="#a23f7394cb8c7bbe6a5d0e05582e038c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#abc810d13339a6b0ab2f08ff8a96b82cb">_calcXTickInterval</a> (scalar min, scalar max, scalar minF, scalar maxF, scalar minTicks, scalar maxTicks)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Interval between ticks in x direction.  <a href="#abc810d13339a6b0ab2f08ff8a96b82cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#afb289639a7016adabc1cb03ae7851269">_countTicks</a> (scalar min, scalar max, scalar interval)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Works out how many ticks would be displayed at that interval.  <a href="#afb289639a7016adabc1cb03ae7851269"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#afaa4e9e29bc7fb9df56e9c7cd168e79b">_round2Tick</a> (scalar input, scalar interval, scalar roundUP)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rounds up or down to the next tick of interval size.  <a href="#afaa4e9e29bc7fb9df56e9c7cd168e79b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private array&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ab1f985ad443c2f1d1bf3ef86e9382346">_sepFP</a> (scalar num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seperates a number into it's base 10 floating point exponent &amp; mantisa.  <a href="#ab1f985ad443c2f1d1bf3ef86e9382346"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private array&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ad28e18fc86eebc6846785580977532ca">_find_y_range</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find minimum and maximum value of y data sets.  <a href="#ad28e18fc86eebc6846785580977532ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private array&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ab5b79dbb6f086902396bf5fd4c2248ef">_find_x_range</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find minimum and maximum value of x data sets.  <a href="#ab5b79dbb6f086902396bf5fd4c2248ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aa13b0e86a933ce6b865c098fd0bdb37d">_plot</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">main sub that controls all the plotting of the actual chart  <a href="#aa13b0e86a933ce6b865c098fd0bdb37d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a530e742ca18ce2e89f177d367964277f">_draw_legend</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">let the user know what all the pretty colors mean.  <a href="#a530e742ca18ce2e89f177d367964277f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a863d96ec45b7fbd5ff05194f4eb827d0">_draw_bottom_legend</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put the legend on the bottom of the chart  <a href="#a863d96ec45b7fbd5ff05194f4eb827d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a39f25b556f2d82e176fc6b0ccfc6da17">_draw_right_legend</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put the legend on the right of the chart  <a href="#a39f25b556f2d82e176fc6b0ccfc6da17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a2f3f15efadc46484126c94780748a534">_draw_top_legend</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put the legend on top of the chart  <a href="#a2f3f15efadc46484126c94780748a534"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a39bad67aecd83bf523bc27d397256480">_draw_left_legend</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put the legend on the left of the chart  <a href="#a39bad67aecd83bf523bc27d397256480"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a2ec9e89bd6719e178877577a72750cb7">_draw_none_legend</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">no legend to draw.  <a href="#a2ec9e89bd6719e178877577a72750cb7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a5ad71ca4e51c7d4876561737f048a6e7">_draw_x_label</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the label for the x-axis  <a href="#a5ad71ca4e51c7d4876561737f048a6e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a6aafcea3c04d6a030a29892f04b25c1f">_draw_y_label</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the label for the y-axis  <a href="#a6aafcea3c04d6a030a29892f04b25c1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a26f0a0f81ae5e6082c2e7f7c00981dac">_draw_ticks</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the ticks and tick labels  <a href="#a26f0a0f81ae5e6082c2e7f7c00981dac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a4f10e76a428b6b09c7ac17a8d8212701">_draw_x_number_ticks</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the ticks and tick labels  <a href="#a4f10e76a428b6b09c7ac17a8d8212701"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a64a81b266a528e24e5547ac504c1fc78">_draw_x_ticks</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the x-ticks and their labels  <a href="#a64a81b266a528e24e5547ac504c1fc78"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a46852297ab12aaf10546e63dd7eab462">_draw_y_ticks</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw the y-ticks and their labels  <a href="#a46852297ab12aaf10546e63dd7eab462"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a8bae7e38a6e77c0696f2ef8b06791caa">_grey_background</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put a grey background on the plot of the data itself  <a href="#a8bae7e38a6e77c0696f2ef8b06791caa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a379e60b338fb8858ce705bdc0e5630fb">_draw_grid_lines</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw grid_lines  <a href="#a379e60b338fb8858ce705bdc0e5630fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#afb41d27247195ea502c6f5a2d8e21eb6">_draw_x_grid_lines</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw grid_lines for x  <a href="#afb41d27247195ea502c6f5a2d8e21eb6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aac178efe7b3c275cd18fe3c86b4d7a6f">_draw_y_grid_lines</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw grid_lines for y  <a href="#aac178efe7b3c275cd18fe3c86b4d7a6f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#af174cccca9ebbc23f588b6587e88fa1b">_draw_y2_grid_lines</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw grid_lines for y  <a href="#af174cccca9ebbc23f588b6587e88fa1b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">private int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ab86fa8ba6e10d109bd155bfefdb42ebf">_prepare_brush</a> (scalar color, scalar type, scalar role)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">prepare brush  <a href="#ab86fa8ba6e10d109bd155bfefdb42ebf"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Public Class Methods</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp76489900c371cf7d2ca502e43fa26e8e"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">object&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a73931fdf090999a07299c1b42d23ae9d">new</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Standard normal constructor.<br/>
 Calls.  <a href="#a73931fdf090999a07299c1b42d23ae9d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Public Object Methods</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrpfb74d91261823cc595bbeff1eff2b9d5"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aadd99033eae9eab891cc2abdf7e4b74d">set</a> (hash opts)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all options.  <a href="#aadd99033eae9eab891cc2abdf7e4b74d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">hash&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a91b33c2a7d570aac658b2660a4d7b809">getopts</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get all options  <a href="#a91b33c2a7d570aac658b2660a4d7b809"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ac68c2d5654211e9e5c36674324fe0451">add_pt</a> (list data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graph API<br/>
 Add one dataset (as a list) to the dataref.  <a href="#ac68c2d5654211e9e5c36674324fe0451"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a080e4b93239edf6886745c59506c14e5">add_pt</a> (\list data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graph API<br/>
 Add one dataset (as a reference to a list) to the dataref via.  <a href="#a080e4b93239edf6886745c59506c14e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a43dcf87aa2b9fd362ba104923c3f3d51">add_dataset</a> (list data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graph API<br/>
 Add many datasets (implemented as a list) to the dataref,.  <a href="#a43dcf87aa2b9fd362ba104923c3f3d51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aa56e6de915dcdc29d00f66d9326b6503">add_dataset</a> (\list data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graph API<br/>
 Add many datasets (implemented as a references to alist) to the dataref,.  <a href="#aa56e6de915dcdc29d00f66d9326b6503"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a57eedac06ec67f93222bbe1a2930b606">add_datafile</a> (scalar filename, scalar format)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Graph API<br/>
 it's also possible to add a complete datafile<br/>
 Uses.  <a href="#a57eedac06ec67f93222bbe1a2930b606"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a99372014f79c259968b77c93eaddaf1a">clear_data</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear Graph API (by undefining 'dataref'.  <a href="#a99372014f79c259968b77c93eaddaf1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">arrayref&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#abafa3dfccde44d267a6aea07ad2a1274">get_data</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get array of data of the last graph.  <a href="#abafa3dfccde44d267a6aea07ad2a1274"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ac6b44856256fb2aa1bb40ee716431028">png</a> (scalar file, scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in png format.  <a href="#ac6b44856256fb2aa1bb40ee716431028"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a887fdd48d80d348d6a38ad799356b0ec">cgi_png</a> (scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in png format to be directly written for CGI.  <a href="#a887fdd48d80d348d6a38ad799356b0ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ad6bc3855bdc31bc6e264e390f5e660c2">scalar_png</a> (scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in PNG format to be directly returned.  <a href="#ad6bc3855bdc31bc6e264e390f5e660c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aa9791b8cc8b287fa966402574afaf03f">jpeg</a> (scalar file, scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in JPG format to be directly plotted.  <a href="#aa9791b8cc8b287fa966402574afaf03f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a4bb21f030ba3e48a8a1086634595a9cf">cgi_jpeg</a> (scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in JPG format to be directly for CGI.  <a href="#a4bb21f030ba3e48a8a1086634595a9cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ac5d9aee386bf811e2770574fba85ec66">scalar_jpeg</a> (scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in JPG format to be directly returned.  <a href="#ac5d9aee386bf811e2770574fba85ec66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#aee48a95d2dbc344911ee9a4cba3b51b0">make_gd</a> (scalar dataref)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Produce the graph of options set in GD format to be directly.  <a href="#aee48a95d2dbc344911ee9a4cba3b51b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#af9fec7910f7254177a81252a03a0f587">imagemap_dump</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the information to turn the chart into an imagemap  <a href="#af9fec7910f7254177a81252a03a0f587"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#ae65cef86e6b2f279b9446b01a9bea088">minimum</a> (list array)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine minimum of an array of values  <a href="#ae65cef86e6b2f279b9446b01a9bea088"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a3dd0d7d961b05b92020c476958b8e0a0">maximum</a> (list array)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine maximum of an array of values  <a href="#a3dd0d7d961b05b92020c476958b8e0a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a97d3b67d31850ded3a7406a18c464ec9">arccos</a> (scalar a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function arccos(a).  <a href="#a97d3b67d31850ded3a7406a18c464ec9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a7da994b0d4ecf66262b4119745e38123">arcsin</a> (scalar a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function arcsin(a).  <a href="#a7da994b0d4ecf66262b4119745e38123"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a9687d15b6d69b6a950f2b545940e62cd">true</a> (scalar b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine true value of argument  <a href="#a9687d15b6d69b6a950f2b545940e62cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChart_1_1Base.html#a72935251f89ad5d823649db7e07a3103">false</a> (scalar b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine false value of argument  <a href="#a72935251f89ad5d823649db7e07a3103"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p><a class="el" href="classChart_1_1Base.html" title="Base class for Chart; all other classes derived from here.">Base</a> class for Chart; all other classes derived from here. </p>
<p><a class="el" href="classChart_1_1Base.html" title="Base class for Chart; all other classes derived from here.">Base</a> class from which all other classes are derived. This class provides all functions which are common for all classes </p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a23f7394cb8c7bbe6a5d0e05582e038c9"></a><!-- doxytag: member="Chart::Base::_calcTickInterval" ref="a23f7394cb8c7bbe6a5d0e05582e038c9" args="(scalar dataset_min, scalar dataset_max, scalar flag_fixed_min, scalar flag_fixed_max, scalar minTicks, scalar maxTicks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private Chart::Base::_calcTickInterval </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataset_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataset_max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>flag_fixed_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>flag_fixed_max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>minTicks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>maxTicks</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculate the Interval between ticks in y direction. </p>
<p>Calculate the Interval between ticks in y direction and compare the number of ticks to the user's given values min_y_ticks, max_y_ticks.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$dataset_min</em>&nbsp;</td><td>Minimal value in y direction </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$dataset_max</em>&nbsp;</td><td>Maximal value in y direction </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$flag_fixed_min</em>&nbsp;</td><td>Indicator whether the dataset_min value is fixed </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$flag_fixed_max</em>&nbsp;</td><td>Indicator whether the dataset_max value is fixed </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$minTicks</em>&nbsp;</td><td>Minimal number of ticks wanted </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$maxTicks</em>&nbsp;</td><td>Maximal number of ticks wanted </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Array of ($tickInterval, $tickCount, $pMin, $pMax) </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Direction.html#a6766001399b56ba88e61f7ca0db50922">Chart::Direction</a>.</p>

</div>
</div>
<a class="anchor" id="abc810d13339a6b0ab2f08ff8a96b82cb"></a><!-- doxytag: member="Chart::Base::_calcXTickInterval" ref="abc810d13339a6b0ab2f08ff8a96b82cb" args="(scalar min, scalar max, scalar minF, scalar maxF, scalar minTicks, scalar maxTicks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_calcXTickInterval </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>minF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>maxF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>minTicks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>maxTicks</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculate the Interval between ticks in x direction. </p>
<p>Calculate the Interval between ticks in x direction and compare the number of ticks to the user's given values minTicks, maxTicks.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$min</em>&nbsp;</td><td>Minimal value of dataset in x direction </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$max</em>&nbsp;</td><td>Maximal value of dataset in x direction </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$minF</em>&nbsp;</td><td>Inddicator if those min value is fixed </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$maxF</em>&nbsp;</td><td>Inddicator if those max value is fixed </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$minTicks</em>&nbsp;</td><td>Minimal number of tick in x direction </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$maxTicks</em>&nbsp;</td><td>Maximal number of tick in x direction </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>$tickInterval, $tickCount, $pMin, $pMax </dd></dl>

</div>
</div>
<a class="anchor" id="a6a97b446c6c2f646dddd7f2a0076ba2e"></a><!-- doxytag: member="Chart::Base::_color_spec_to_rgb" ref="a6a97b446c6c2f646dddd7f2a0076ba2e" args="(scalar role, scalar spec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private array Chart::Base::_color_spec_to_rgb </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>role</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>spec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return an array (list of) rgb values for spec. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$role</em>&nbsp;</td><td>name of a role </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$spec</em>&nbsp;</td><td>[r,g,b] or name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>array of rgb values as a list (i.e., @rgb) </dd></dl>

</div>
</div>
<a class="anchor" id="ac704c89b5b4b3f3f0e6fa35d6c5ca6c3"></a><!-- doxytag: member="Chart::Base::_copy_data" ref="ac704c89b5b4b3f3f0e6fa35d6c5ca6c3" args="(scalar extern_ref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_copy_data </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>extern_ref</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy external data via a reference to internal memory. </p>
<p>Remember the external reference.<br/>
 Therefore, this function can anly be called once! </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$extern_ref</em>&nbsp;</td><td>Reference to external data space </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afb289639a7016adabc1cb03ae7851269"></a><!-- doxytag: member="Chart::Base::_countTicks" ref="afb289639a7016adabc1cb03ae7851269" args="(scalar min, scalar max, scalar interval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_countTicks </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>interval</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Works out how many ticks would be displayed at that interval. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$min</em>&nbsp;</td><td>Minimal value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>$max</em>&nbsp;</td><td>Maximal value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>$interval</em>&nbsp;</td><td>value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>($tickCount, $minR, $maxR)</dd></dl>
<p>e.g min=2, max=5, interval=1, result is 4 ticks.<br/>
 written by David Pottage of Tao Group.<br/>
 $minR = $self-&gt;_round2Tick( $min, $interval, -1);<br/>
 $maxR = $self-&gt;_round2Tick( $max, $interval, 1);<br/>
 $tickCount = ( $maxR/$interval ) - ( $minR/$interval ) +1; </p>

</div>
</div>
<a class="anchor" id="a863d96ec45b7fbd5ff05194f4eb827d0"></a><!-- doxytag: member="Chart::Base::_draw_bottom_legend" ref="a863d96ec45b7fbd5ff05194f4eb827d0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_bottom_legend </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>put the legend on the bottom of the chart </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a91f9c46886e61ae81057a7489632f366">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="a379e60b338fb8858ce705bdc0e5630fb"></a><!-- doxytag: member="Chart::Base::_draw_grid_lines" ref="a379e60b338fb8858ce705bdc0e5630fb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_grid_lines </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw grid_lines </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a39bad67aecd83bf523bc27d397256480"></a><!-- doxytag: member="Chart::Base::_draw_left_legend" ref="a39bad67aecd83bf523bc27d397256480" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_left_legend </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>put the legend on the left of the chart </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#aaf2a13312cf3fda279eb6b7e37188027">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="a530e742ca18ce2e89f177d367964277f"></a><!-- doxytag: member="Chart::Base::_draw_legend" ref="a530e742ca18ce2e89f177d367964277f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_legend </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>let the user know what all the pretty colors mean. </p>
<p><br/>
 The user define the position of the legend by setting option 'legend' to 'top', 'bottom', 'left', 'right' or 'none'. The legend is positioned at the defined place, respectively. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#afcfacbb3cf9fde5a3d9debd6daca3291">Chart::Composite</a>, <a class="el" href="classChart_1_1Direction.html#a47ab5b61307d24d038ae77e62e269099">Chart::Direction</a>, and <a class="el" href="classChart_1_1ErrorBars.html#a6e1e40b048bbc13bead8449c2b78750a">Chart::ErrorBars</a>.</p>

</div>
</div>
<a class="anchor" id="a2ec9e89bd6719e178877577a72750cb7"></a><!-- doxytag: member="Chart::Base::_draw_none_legend" ref="a2ec9e89bd6719e178877577a72750cb7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_none_legend </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>no legend to draw. </p>
<p>Just return in this case. This routine may be overwritten by subclasses. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a1f58fe4c7a6db069a7f4e173ac76a961">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="a39f25b556f2d82e176fc6b0ccfc6da17"></a><!-- doxytag: member="Chart::Base::_draw_right_legend" ref="a39f25b556f2d82e176fc6b0ccfc6da17" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_right_legend </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>put the legend on the right of the chart </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#ae2376bb07ec85374f24b76ac0dbc813a">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="afd4f3ee3925d1e765e099c80e6c98da7"></a><!-- doxytag: member="Chart::Base::_draw_sub_title" ref="afd4f3ee3925d1e765e099c80e6c98da7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_sub_title </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the sub-title for the chart </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#aa3467472a4c4a598c5a2f64de8c438c1" title="draw the title for the chart">_draw_title</a><br/>
 <a class="el" href="classChart_1_1Base.html#afd4f3ee3925d1e765e099c80e6c98da7" title="draw the sub-title for the chart">_draw_sub_title()</a> is more or less obsolete as <a class="el" href="classChart_1_1Base.html#aa3467472a4c4a598c5a2f64de8c438c1" title="draw the title for the chart">_draw_title()</a> does the same by writing more than one line as the title. Both use decreased width and height of the font by one. </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a26f0a0f81ae5e6082c2e7f7c00981dac"></a><!-- doxytag: member="Chart::Base::_draw_ticks" ref="a26f0a0f81ae5e6082c2e7f7c00981dac" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_ticks </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the ticks and tick labels </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a7851868c22518f010a467689cec79b93">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="a2f3f15efadc46484126c94780748a534"></a><!-- doxytag: member="Chart::Base::_draw_top_legend" ref="a2f3f15efadc46484126c94780748a534" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_top_legend </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>put the legend on top of the chart </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a844a6a68ef755e13236e013decf9cddf">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="afb41d27247195ea502c6f5a2d8e21eb6"></a><!-- doxytag: member="Chart::Base::_draw_x_grid_lines" ref="afb41d27247195ea502c6f5a2d8e21eb6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_x_grid_lines </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw grid_lines for x </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a5ad71ca4e51c7d4876561737f048a6e7"></a><!-- doxytag: member="Chart::Base::_draw_x_label" ref="a5ad71ca4e51c7d4876561737f048a6e7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_x_label </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the label for the x-axis </p>
<p>Get font for labels<br/>
 Get the color of x_label or text<br/>
 Get size of font<br/>
 and write x-Label</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a4f10e76a428b6b09c7ac17a8d8212701"></a><!-- doxytag: member="Chart::Base::_draw_x_number_ticks" ref="a4f10e76a428b6b09c7ac17a8d8212701" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_x_number_ticks </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the ticks and tick labels </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a64a81b266a528e24e5547ac504c1fc78"></a><!-- doxytag: member="Chart::Base::_draw_x_ticks" ref="a64a81b266a528e24e5547ac504c1fc78" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_x_ticks </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the x-ticks and their labels </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a346409df6cbd56dae5206294a8e9edcb">Chart::Composite</a>, <a class="el" href="classChart_1_1Direction.html#a4803bef9580feed235401ff290459cce">Chart::Direction</a>, and <a class="el" href="classChart_1_1HorizontalBars.html#aabe5236ec45ce98269d60ea17944e283">Chart::HorizontalBars</a>.</p>

</div>
</div>
<a class="anchor" id="af174cccca9ebbc23f588b6587e88fa1b"></a><!-- doxytag: member="Chart::Base::_draw_y2_grid_lines" ref="af174cccca9ebbc23f588b6587e88fa1b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_y2_grid_lines </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw grid_lines for y </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a37406d5ce28e2e8a0465eeff8bfd6911">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="aac178efe7b3c275cd18fe3c86b4d7a6f"></a><!-- doxytag: member="Chart::Base::_draw_y_grid_lines" ref="aac178efe7b3c275cd18fe3c86b4d7a6f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_y_grid_lines </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw grid_lines for y </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a6a727845be209cb4d9cb825ab6c5ffb1">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="a6aafcea3c04d6a030a29892f04b25c1f"></a><!-- doxytag: member="Chart::Base::_draw_y_label" ref="a6aafcea3c04d6a030a29892f04b25c1f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_y_label </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the label for the y-axis </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a46852297ab12aaf10546e63dd7eab462"></a><!-- doxytag: member="Chart::Base::_draw_y_ticks" ref="a46852297ab12aaf10546e63dd7eab462" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_draw_y_ticks </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the y-ticks and their labels </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a62fd62f54c05506571d4603e5618af30">Chart::Composite</a>, <a class="el" href="classChart_1_1Direction.html#aae701e9961733ae43e068acbad3e139a">Chart::Direction</a>, and <a class="el" href="classChart_1_1HorizontalBars.html#afb085d5cca48ae94538f345945212a82">Chart::HorizontalBars</a>.</p>

</div>
</div>
<a class="anchor" id="ab5b79dbb6f086902396bf5fd4c2248ef"></a><!-- doxytag: member="Chart::Base::_find_x_range" ref="ab5b79dbb6f086902396bf5fd4c2248ef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private array Chart::Base::_find_x_range </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find minimum and maximum value of x data sets. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>( min, max ) </dd></dl>

</div>
</div>
<a class="anchor" id="a694b293ee3d92e706b1743cb1fa9d09d"></a><!-- doxytag: member="Chart::Base::_find_x_scale" ref="a694b293ee3d92e706b1743cb1fa9d09d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_find_x_scale </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>For a xy-plot do the same for the x values, as '_find_y_scale' does for the y values! </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#acb2fe91b2d57e43d84b1bc6f092ac68d" title="find good values for the minimum and maximum y-value on the chart">_find_y_scale</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="ad28e18fc86eebc6846785580977532ca"></a><!-- doxytag: member="Chart::Base::_find_y_range" ref="ad28e18fc86eebc6846785580977532ca" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private array Chart::Base::_find_y_range </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find minimum and maximum value of y data sets. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>( min, max, flag_all_integers ) </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Direction.html#a8f408c9fa61c3ee5f87a19c1f42d94c7">Chart::Direction</a>, <a class="el" href="classChart_1_1ErrorBars.html#aa303b7b246e29f54626fecebfe6cf15c">Chart::ErrorBars</a>, and <a class="el" href="classChart_1_1Mountain.html#a1da3590b6cb7bc51b8c192e1141a6fa3">Chart::Mountain</a>.</p>

</div>
</div>
<a class="anchor" id="acb2fe91b2d57e43d84b1bc6f092ac68d"></a><!-- doxytag: member="Chart::Base::_find_y_scale" ref="acb2fe91b2d57e43d84b1bc6f092ac68d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_find_y_scale </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>find good values for the minimum and maximum y-value on the chart </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status</dd></dl>
<p>New version, re-written by David Pottage of Tao Group.<br/>
 This code is *AS IS* and comes with *NO WARRANTY*<br/>
</p>
<p>This Sub calculates correct values for the following class local variables, if they have not been set by the user.</p>
<p>max_val, min_val: The maximum and minimum values for the y axis.<br/>
 y_ticks: The number of ticks to plot on the y scale, including the end points. e.g. If the scale runs from 0 to 50, with ticks every 10, y_ticks will have the value of 6.<br/>
 y_tick_labels: An array of strings, each is a label for the y axis.<br/>
 y_tick_labels_length: The length to allow for B tick labels. (How long is the longest?) </p>

<p>Reimplemented in <a class="el" href="classChart_1_1Direction.html#ad33ea739bd5ceb8b48809028c489f119">Chart::Direction</a>, and <a class="el" href="classChart_1_1HorizontalBars.html#acec45b0698c777d244fb6f6dd1202e20">Chart::HorizontalBars</a>.</p>

</div>
</div>
<a class="anchor" id="a8bae7e38a6e77c0696f2ef8b06791caa"></a><!-- doxytag: member="Chart::Base::_grey_background" ref="a8bae7e38a6e77c0696f2ef8b06791caa" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_grey_background </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>put a grey background on the plot of the data itself </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a0803aa94dabfc982195cab15392ba7bc"></a><!-- doxytag: member="Chart::Base::_init" ref="a0803aa94dabfc982195cab15392ba7bc" args="(scalar x, scalar y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_init </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize all default options here. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$x</em>&nbsp;</td><td>Width of the final image in pixels (Default: 400) </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$y</em>&nbsp;</td><td>Height of the final image in pixels (Default: 300) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa13b0e86a933ce6b865c098fd0bdb37d"></a><!-- doxytag: member="Chart::Base::_plot" ref="aa13b0e86a933ce6b865c098fd0bdb37d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_plot </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>main sub that controls all the plotting of the actual chart </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="ab86fa8ba6e10d109bd155bfefdb42ebf"></a><!-- doxytag: member="Chart::Base::_prepare_brush" ref="ab86fa8ba6e10d109bd155bfefdb42ebf" args="(scalar color, scalar type, scalar role)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_prepare_brush </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>role</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>prepare brush </p>
<p>set the gdBrush object to tick GD into drawing fat lines &amp; points of interesting shapes Needed by "Lines", "Points" and "LinesPoints" All hacked up by Richard Dice &lt;<a href="mailto:rdice@pobox.com">rdice@pobox.com</a>&gt; Sunday 16 May 1999</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$color</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>$type</em>&nbsp;</td><td>'line','point' </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>$role</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="afaa4e9e29bc7fb9df56e9c7cd168e79b"></a><!-- doxytag: member="Chart::Base::_round2Tick" ref="afaa4e9e29bc7fb9df56e9c7cd168e79b" args="(scalar input, scalar interval, scalar roundUP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_round2Tick </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>interval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>roundUP</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rounds up or down to the next tick of interval size. </p>
<p>$roundUP can be +1 or -1 to indicate if rounding should be up or down.<br/>
 written by David Pottage of Tao Group.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$input</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>$interval</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>$roundUP</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>retN*interval </dd></dl>

</div>
</div>
<a class="anchor" id="ab1f985ad443c2f1d1bf3ef86e9382346"></a><!-- doxytag: member="Chart::Base::_sepFP" ref="ab1f985ad443c2f1d1bf3ef86e9382346" args="(scalar num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private array Chart::Base::_sepFP </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>num</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Seperates a number into it's base 10 floating point exponent &amp; mantisa. </p>
<p>written by David Pottage of Tao Group.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$num</em>&nbsp;</td><td>Floating point number </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>( exponent, mantissa) </dd></dl>

</div>
</div>
<a class="anchor" id="ade88df5ecdc74e50ea683b63424ba84a"></a><!-- doxytag: member="Chart::Base::_sort_data" ref="ade88df5ecdc74e50ea683b63424ba84a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int Chart::Base::_sort_data </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>sort the data nicely (mostly for the pareto charts and xy-plots) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="a57eedac06ec67f93222bbe1a2930b606"></a><!-- doxytag: member="Chart::Base::add_datafile" ref="a57eedac06ec67f93222bbe1a2930b606" args="(scalar filename, scalar format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::add_datafile </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>format</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Graph API<br/>
 it's also possible to add a complete datafile<br/>
 Uses. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#ac68c2d5654211e9e5c36674324fe0451" title="Graph API  Add one dataset (as a list) to the dataref.">add_pt</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#a43dcf87aa2b9fd362ba104923c3f3d51" title="Graph API  Add many datasets (implemented as a list) to the dataref,.">add_dataset</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$filename</em>&nbsp;</td><td>Name of file which contents is to be added </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$format</em>&nbsp;</td><td>'pt' or 'set' to distiguish between function <a class="el" href="classChart_1_1Base.html#ac68c2d5654211e9e5c36674324fe0451" title="Graph API  Add one dataset (as a list) to the dataref.">add_pt()</a> in case of 'pt' or function <a class="el" href="classChart_1_1Base.html#a43dcf87aa2b9fd362ba104923c3f3d51" title="Graph API  Add many datasets (implemented as a list) to the dataref,.">add_dataset()</a> in case of 'set' </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa56e6de915dcdc29d00f66d9326b6503"></a><!-- doxytag: member="Chart::Base::add_dataset" ref="aa56e6de915dcdc29d00f66d9326b6503" args="(\list data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::add_dataset </td>
          <td>(</td>
          <td class="paramtype">\list&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Graph API<br/>
 Add many datasets (implemented as a references to alist) to the dataref,. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>\@data</em>&nbsp;</td><td>Dataset (reference to a list) to add </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a43dcf87aa2b9fd362ba104923c3f3d51"></a><!-- doxytag: member="Chart::Base::add_dataset" ref="a43dcf87aa2b9fd362ba104923c3f3d51" args="(list data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::add_dataset </td>
          <td>(</td>
          <td class="paramtype">list&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Graph API<br/>
 Add many datasets (implemented as a list) to the dataref,. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>@data</em>&nbsp;</td><td>Dataset (list) to add </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Direction.html#a50b338ce75f7e6ab339b5f587a4e933b">Chart::Direction</a>.</p>

</div>
</div>
<a class="anchor" id="a080e4b93239edf6886745c59506c14e5"></a><!-- doxytag: member="Chart::Base::add_pt" ref="a080e4b93239edf6886745c59506c14e5" args="(\list data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::add_pt </td>
          <td>(</td>
          <td class="paramtype">\list&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Graph API<br/>
 Add one dataset (as a reference to a list) to the dataref via. </p>
<pre>
for ( 0 .. $data )
{
   push $self-&gt;{'dataref'}-&gt;[$_] }, $data[$_];
}
</pre><dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>\@data</em>&nbsp;</td><td>Dataset to add </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac68c2d5654211e9e5c36674324fe0451"></a><!-- doxytag: member="Chart::Base::add_pt" ref="ac68c2d5654211e9e5c36674324fe0451" args="(list data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::add_pt </td>
          <td>(</td>
          <td class="paramtype">list&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Graph API<br/>
 Add one dataset (as a list) to the dataref. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>@data</em>&nbsp;</td><td>Dataset to add </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a97d3b67d31850ded3a7406a18c464ec9"></a><!-- doxytag: member="Chart::Base::arccos" ref="a97d3b67d31850ded3a7406a18c464ec9" args="(scalar a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::arccos </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>a</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function arccos(a). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$a</em>&nbsp;</td><td>Value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>arccos(a) </dd></dl>

</div>
</div>
<a class="anchor" id="a7da994b0d4ecf66262b4119745e38123"></a><!-- doxytag: member="Chart::Base::arcsin" ref="a7da994b0d4ecf66262b4119745e38123" args="(scalar a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::arcsin </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>a</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function arcsin(a). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$a</em>&nbsp;</td><td>Value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>arcsin(a) </dd></dl>

</div>
</div>
<a class="anchor" id="a4bb21f030ba3e48a8a1086634595a9cf"></a><!-- doxytag: member="Chart::Base::cgi_jpeg" ref="a4bb21f030ba3e48a8a1086634595a9cf" args="(scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::cgi_jpeg </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in JPG format to be directly for CGI. </p>
<p>called after the options are set, this method invokes all my private methods to actually draw the chart and plot the data </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$dataref</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status of the plot </dd></dl>

</div>
</div>
<a class="anchor" id="a887fdd48d80d348d6a38ad799356b0ec"></a><!-- doxytag: member="Chart::Base::cgi_png" ref="a887fdd48d80d348d6a38ad799356b0ec" args="(scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::cgi_png </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in png format to be directly written for CGI. </p>
<p>called after the options are set, this method invokes all my private methods to actually draw the chart and plot the data </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$dataref</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status of the plot </dd></dl>

</div>
</div>
<a class="anchor" id="a99372014f79c259968b77c93eaddaf1a"></a><!-- doxytag: member="Chart::Base::clear_data" ref="a99372014f79c259968b77c93eaddaf1a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::clear_data </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear Graph API (by undefining 'dataref'. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status of function </dd></dl>

</div>
</div>
<a class="anchor" id="a72935251f89ad5d823649db7e07a3103"></a><!-- doxytag: member="Chart::Base::false" ref="a72935251f89ad5d823649db7e07a3103" args="(scalar b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::false </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine false value of argument </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$b</em>&nbsp;</td><td>Bool value to check for true </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if argument is equal to false, FALSE, 0, f, F or undefined </dd></dl>

</div>
</div>
<a class="anchor" id="abafa3dfccde44d267a6aea07ad2a1274"></a><!-- doxytag: member="Chart::Base::get_data" ref="abafa3dfccde44d267a6aea07ad2a1274" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">arrayref Chart::Base::get_data </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get array of data of the last graph. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to data set of the last graph </dd></dl>

</div>
</div>
<a class="anchor" id="a91b33c2a7d570aac658b2660a4d7b809"></a><!-- doxytag: member="Chart::Base::getopts" ref="a91b33c2a7d570aac658b2660a4d7b809" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">hash Chart::Base::getopts </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get all options </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>hash of all set options so far</dd>
<dd>
set options as a hash </dd></dl>

</div>
</div>
<a class="anchor" id="af9fec7910f7254177a81252a03a0f587"></a><!-- doxytag: member="Chart::Base::imagemap_dump" ref="af9fec7910f7254177a81252a03a0f587" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::imagemap_dump </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the information to turn the chart into an imagemap </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to an array of the image </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#ab8dbbeec3544f8e9b1b10486aa46459d">Chart::Composite</a>.</p>

</div>
</div>
<a class="anchor" id="aa9791b8cc8b287fa966402574afaf03f"></a><!-- doxytag: member="Chart::Base::jpeg" ref="aa9791b8cc8b287fa966402574afaf03f" args="(scalar file, scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::jpeg </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in JPG format to be directly plotted. </p>
<p><br/>
</p>
<p>Called after the options are set, this method invokes all my private methods to actually draw the chart and plot the data. The output has the jpeg format in opposite to png format produced by </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#ac6b44856256fb2aa1bb40ee716431028" title="Produce the graph of options set in png format.">png</a></dd></dl>
<p>Uses the following private functions:<br/>
 </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#addecc110eb46a126acaad69e113d06ea" title="specify my colors">_set_colors</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#ac704c89b5b4b3f3f0e6fa35d6c5ca6c3" title="Copy external data via a reference to internal memory.">_copy_data</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#a13296be5b92a9880851977fe0abfdf01" title="Check the internal data to be displayed.">_check_data</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#ab021c0dceb1ae55e1697bbee667480fa" title="Plot the chart to the gd object  Calls:">_draw</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$file</em>&nbsp;</td><td>Name of file to write graph to </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$dataref</em>&nbsp;</td><td>Reference to external data space </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status of the plot </dd></dl>

</div>
</div>
<a class="anchor" id="aee48a95d2dbc344911ee9a4cba3b51b0"></a><!-- doxytag: member="Chart::Base::make_gd" ref="aee48a95d2dbc344911ee9a4cba3b51b0" args="(scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::make_gd </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in GD format to be directly. </p>
<p>called after the options are set, this method invokes all my private methods to actually draw the chart and plot the data </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$dataref</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status of the plot </dd></dl>

</div>
</div>
<a class="anchor" id="a3dd0d7d961b05b92020c476958b8e0a0"></a><!-- doxytag: member="Chart::Base::maximum" ref="a3dd0d7d961b05b92020c476958b8e0a0" args="(list array)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::maximum </td>
          <td>(</td>
          <td class="paramtype">list&nbsp;</td>
          <td class="paramname"> <em>array</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine maximum of an array of values </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>@array</em>&nbsp;</td><td>List of numerical values </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Maximal value of list of values </dd></dl>

</div>
</div>
<a class="anchor" id="ae65cef86e6b2f279b9446b01a9bea088"></a><!-- doxytag: member="Chart::Base::minimum" ref="ae65cef86e6b2f279b9446b01a9bea088" args="(list array)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::minimum </td>
          <td>(</td>
          <td class="paramtype">list&nbsp;</td>
          <td class="paramname"> <em>array</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine minimum of an array of values </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>@array</em>&nbsp;</td><td>List of numerical values </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Minimal value of list of values </dd></dl>

</div>
</div>
<a class="anchor" id="a73931fdf090999a07299c1b42d23ae9d"></a><!-- doxytag: member="Chart::Base::new" ref="a73931fdf090999a07299c1b42d23ae9d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">object Chart::Base::new </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Standard normal constructor.<br/>
 Calls. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new object.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#a0803aa94dabfc982195cab15392ba7bc" title="Initialize all default options here.">_init</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac6b44856256fb2aa1bb40ee716431028"></a><!-- doxytag: member="Chart::Base::png" ref="ac6b44856256fb2aa1bb40ee716431028" args="(scalar file, scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::png </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in png format. </p>
<p>called after the options are set, this method invokes all my private methods to actually draw the chart and plot the data </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#addecc110eb46a126acaad69e113d06ea" title="specify my colors">_set_colors</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#ac704c89b5b4b3f3f0e6fa35d6c5ca6c3" title="Copy external data via a reference to internal memory.">_copy_data</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#a13296be5b92a9880851977fe0abfdf01" title="Check the internal data to be displayed.">_check_data</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#ab021c0dceb1ae55e1697bbee667480fa" title="Plot the chart to the gd object  Calls:">_draw</a> </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$file</em>&nbsp;</td><td>Name of file to write graph to </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$dataref</em>&nbsp;</td><td>Reference to external data space </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Status of the plot </dd></dl>

</div>
</div>
<a class="anchor" id="ac5d9aee386bf811e2770574fba85ec66"></a><!-- doxytag: member="Chart::Base::scalar_jpeg" ref="ac5d9aee386bf811e2770574fba85ec66" args="(scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::scalar_jpeg </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in JPG format to be directly returned. </p>
<p>called after the options are set, this method invokes all my private methods to actually draw the chart and return the image to the caller</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$dataref</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>returns the jpeg image as a scalar value, so that the programmer-user can do whatever the heck s/he wants to with it </dd></dl>

</div>
</div>
<a class="anchor" id="ad6bc3855bdc31bc6e264e390f5e660c2"></a><!-- doxytag: member="Chart::Base::scalar_png" ref="ad6bc3855bdc31bc6e264e390f5e660c2" args="(scalar dataref)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::scalar_png </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>dataref</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce the graph of options set in PNG format to be directly returned. </p>
<p>called after the options are set, this method invokes all my private methods to actually draw the chart and return the image to the caller</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>$dataref</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>returns the png image as a scalar value, so that the programmer-user can do whatever the heck s/he wants to with it </dd></dl>

</div>
</div>
<a class="anchor" id="aadd99033eae9eab891cc2abdf7e4b74d"></a><!-- doxytag: member="Chart::Base::set" ref="aadd99033eae9eab891cc2abdf7e4b74d" args="(hash opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chart::Base::set </td>
          <td>(</td>
          <td class="paramtype">hash&nbsp;</td>
          <td class="paramname"> <em>opts</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all options. </p>
<p>main method for customizing the chart, lets users specify values for different parameters<br/>
 The options are saved locally to be able to output them via </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#a91b33c2a7d570aac658b2660a4d7b809" title="get all options">getopts()</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>%opts</em>&nbsp;</td><td>Hash of options to the Chart </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ok or croak </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a00e87797c96ce57efc6b066cbe7d6333">Chart::Composite</a>, and <a class="el" href="classChart_1_1Direction.html#ab7104b48aa4219a995656088c121078d">Chart::Direction</a>.</p>

</div>
</div>
<a class="anchor" id="a9687d15b6d69b6a950f2b545940e62cd"></a><!-- doxytag: member="Chart::Base::true" ref="a9687d15b6d69b6a950f2b545940e62cd" args="(scalar b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Chart::Base::true </td>
          <td>(</td>
          <td class="paramtype">scalar&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine true value of argument </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>$b</em>&nbsp;</td><td>Bool value to check for true </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if argument is equal to TRUE, true, 1, t, T, and defined </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a2c02f66668131d6567338965e821d87a"></a><!-- doxytag: member="Chart::Base::_brushStyles_of_roles" ref="a2c02f66668131d6567338965e821d87a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#a2c02f66668131d6567338965e821d87a">Chart::Base::_brushStyles_of_roles</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return a (list of) brushStyles corresponding to the (list of) role(s) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>\@list_of_roles</em>&nbsp;</td><td>List of roles </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>(list of) brushStyle(s) corresponding to the (list of) role(s) in @_. </dd></dl>

</div>
</div>
<a class="anchor" id="a13296be5b92a9880851977fe0abfdf01"></a><!-- doxytag: member="Chart::Base::_check_data" ref="a13296be5b92a9880851977fe0abfdf01" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#a13296be5b92a9880851977fe0abfdf01">Chart::Base::_check_data</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check the internal data to be displayed. </p>
<p>Make sure the data isn't really weird and collect some basic info about it<br/>
 Not logical data is 'carp'ed.<br/>
 </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status of check </dd></dl>

<p>Reimplemented in <a class="el" href="classChart_1_1Composite.html#a67af0ad77d0c1f4f74da434ceb9cf53c">Chart::Composite</a>, and <a class="el" href="classChart_1_1StackedBars.html#a8d772463780f75cc985ae890ad8a94d1">Chart::StackedBars</a>.</p>

</div>
</div>
<a class="anchor" id="a14098e898b9f9b5dca8d7a39ab9d4d57"></a><!-- doxytag: member="Chart::Base::_color_role_to_index" ref="a14098e898b9f9b5dca8d7a39ab9d4d57" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#a14098e898b9f9b5dca8d7a39ab9d4d57">Chart::Base::_color_role_to_index</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return a (list of) color index(es) corresponding to the (list of) role(s) </p>
<p>wantarray is a special keyword which returns a flag indicating which context your subroutine has been called in. It will return one of three values.</p>
<ul>
<li>true: If your subroutine has been called in list context </li>
<li>false: If your subroutine has been called in scalar context </li>
<li>undef: If your subroutine has been called in void context</li>
</ul>
<dl class="return"><dt><b>Returns:</b></dt><dd>a (list of) color index(es) corresponding to the (list of) role(s) in @_. </dd></dl>

</div>
</div>
<a class="anchor" id="a060d522a2f0240cad4c746891d488f80"></a><!-- doxytag: member="Chart::Base::_default_f_tick" ref="a060d522a2f0240cad4c746891d488f80" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#a060d522a2f0240cad4c746891d488f80">Chart::Base::_default_f_tick</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>default tick conversion function This function is pointed to be $self-&gt;{f_x_tick} resp. </p>
<p>$self-&gt;{f_y_tick} if the user does not provide another function</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="ab021c0dceb1ae55e1697bbee667480fa"></a><!-- doxytag: member="Chart::Base::_draw" ref="ab021c0dceb1ae55e1697bbee667480fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#ab021c0dceb1ae55e1697bbee667480fa">Chart::Base::_draw</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Plot the chart to the gd object<br/>
 Calls: </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#aa3467472a4c4a598c5a2f64de8c438c1" title="draw the title for the chart">_draw_title</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#afd4f3ee3925d1e765e099c80e6c98da7" title="draw the sub-title for the chart">_draw_sub_title</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#ade88df5ecdc74e50ea683b63424ba84a" title="sort the data nicely (mostly for the pareto charts and xy-plots)">_sort_data</a> </dd>
<dd>
<a class="el" href="classChart_1_1Base.html#aa13b0e86a933ce6b865c098fd0bdb37d" title="main sub that controls all the plotting of the actual chart">_plot</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="aa3467472a4c4a598c5a2f64de8c438c1"></a><!-- doxytag: member="Chart::Base::_draw_title" ref="aa3467472a4c4a598c5a2f64de8c438c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#aa3467472a4c4a598c5a2f64de8c438c1">Chart::Base::_draw_title</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>draw the title for the chart </p>
<p>The title was defined by the user in set('title' =&gt; ....)<br/>
 The user may define some title lines by separating them via character '\n';<br/>
 The used font is taken from 'title_font';<br/>
 The used color is calculated by function '_color_role_to_index' based on 'title' or 'text'<br/>
 </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classChart_1_1Base.html#a14098e898b9f9b5dca8d7a39ab9d4d57" title="return a (list of) color index(es) corresponding to the (list of) role(s)">_color_role_to_index</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="addecc110eb46a126acaad69e113d06ea"></a><!-- doxytag: member="Chart::Base::_set_colors" ref="addecc110eb46a126acaad69e113d06ea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private int <a class="el" href="classChart_1_1Base.html#addecc110eb46a126acaad69e113d06ea">Chart::Base::_set_colors</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>specify my colors </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

</div>
</div>
<a class="anchor" id="ac21e93fb6498ea3137e15fd348e7b9ff"></a><!-- doxytag: member="Chart::Base::_xPixelInReal" ref="ac21e93fb6498ea3137e15fd348e7b9ff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private float <a class="el" href="classChart_1_1Base.html#ac21e93fb6498ea3137e15fd348e7b9ff">Chart::Base::_xPixelInReal</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get witdh of one Pixel in real coordinates in x-direction. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>width(interval) of reality in x direction </dd></dl>

</div>
</div>
<a class="anchor" id="a1f3ae34864bf296fafcab63416926b83"></a><!-- doxytag: member="Chart::Base::_xyRatio" ref="a1f3ae34864bf296fafcab63416926b83" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private float <a class="el" href="classChart_1_1Base.html#a1f3ae34864bf296fafcab63416926b83">Chart::Base::_xyRatio</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get ratio width_x/width_y. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>ratio width_x and width_y </dd></dl>

</div>
</div>
<a class="anchor" id="afe24ee8f28c900069e65ddd666a242ff"></a><!-- doxytag: member="Chart::Base::_yPixelInReal" ref="afe24ee8f28c900069e65ddd666a242ff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">private float <a class="el" href="classChart_1_1Base.html#afe24ee8f28c900069e65ddd666a242ff">Chart::Base::_yPixelInReal</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get witdh of one Pixel in real coordinates in y-direction. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>width(interval) of reality in y direction </dd></dl>

</div>
</div>
<a class="anchor" id="a38c2792df08724efa7c4e1b9194cbe6e"></a><!-- doxytag: member="Chart::Base::named_colors" ref="a38c2792df08724efa7c4e1b9194cbe6e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Hash <a class="el" href="classChart_1_1Base.html#a38c2792df08724efa7c4e1b9194cbe6e">Chart::Base::named_colors</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>RGB values of named colors. </p>
<p>see URL <a href="http://en.wikipedia.org/wiki/Web_colors#X11_color_names">http://en.wikipedia.org/wiki/Web_colors#X11_color_names</a> </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Chart/<a class="el" href="Base_8pm.html">Base.pm</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Oct 3 2012 19:16:00 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>