This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
phptsmadmin/includes/jpgraph/docs/chunkhtml/ch13s02.html
2011-05-28 19:51:52 +10:00

165 lines
11 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Reading data from a file</title><link rel="stylesheet" type="text/css" href="manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.0"><link rel="home" href="index.html" title="JpGraph Manual"><link rel="up" href="ch13.html" title="Chapter 13. Getting hold of the data to be displayed"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Reading data from a file</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center">Chapter 13. Getting hold of the data to be displayed</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="Reading data from a file"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2537882"></a>Reading data from a file</h2></div></div></div>
<p>The second method in order of complexity is to read the data from plain text
files. An example on how to use this was shown in <a class="xref" href="ch04s02.html#sec.preparing-sunspots-data" title="Preparing the data">Preparing the data</a>. The library contains utility
methods to ease reading of plain textual data in one of the following
formats:</p>
<p>
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
<p>One column</p>
</li><li class="listitem">
<p>Two columns</p>
</li><li class="listitem">
<p>Comma separated values, CSV</p>
</li></ol></div><p>
</p>
<p>The utility class to handle this is called <code class="code">Class ReadFileData</code> and
contains three utility methods corresponding to the list above, they are
<code class="code">ReadFileData::From1Col()</code>, <code class="code">ReadFileData::From2Col()</code>,
<code class="code">ReadFileData::FromCSV()</code> and
<code class="code">ReadFileData::FromCSV2()</code>.</p>
<p>These methods are described shortly below</p>
<p>
</p><div class="variablelist"><dl><dt><span class="term"><code class="code">ReadFileData::From1Col($aFileName, $aCol1)</code></span></dt><dd>
<p>Reads data from a text file with one column of data and stores in
the supplied <code class="code">$aCol1</code> vector.</p>
<p>Typical data looks like</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">123
14.5
19.2</span></pre></td></tr></table></div><p>
</p>
<p>which would result in </p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">$aCol == array(123, 14.5, 19,2)</span></pre></td></tr></table></div><p>
</p>
</dd><dt><span class="term"><code class="code">ReadFileData::From2Col($aFile, $aCol1, $aCol2, $aSepChar='
')</code></span></dt><dd>
<p>Reads data from a text file with two columns separated by the
specified character.</p>
<p>Typical data looks like</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">12,15
13,34
14,27</span></pre></td></tr></table></div><p>
</p>
<p>which would result in</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">$aCol1 == array(12,13,14);
$aCol2 == array(15,34,27);</span></pre></td></tr></table></div><p>
</p>
</dd><dt><span class="term">ReadFileData::FromCSV($aFile,&amp;$aData,$aSepChar=',',$aMaxLineLength=1024)</span></dt><dd>
<p>This method reads comma separated values from a specified file.
The values are all separeted by the specified character. This method
can be seen as a generalization of From1Col() method.</p>
<p>Typical data looks like</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">12,34,56,18,19.7,55</span></pre></td></tr></table></div><p>
</p>
<p>which would result in</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">$aData == array(12,34,56,18,19,7,55)</span></pre></td></tr></table></div><p>
</p>
</dd><dt><span class="term">ReadFileData::FromCSV2($aFile, &amp;$aData, $aOptions =
array())</span></dt><dd>
<p>This method also reads comma separated values from a file but with
more advanced options to control how the data is read. This can be
seen as a generalization of From2Col() method.</p>
<p>The possible options and there default values for this method
are</p>
<p>
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<p>'separator' =&gt; ','</p>
</li><li class="listitem">
<p>'enclosure' =&gt; '"'</p>
</li><li class="listitem">
<p>'readlength' =&gt; 1024</p>
</li><li class="listitem">
<p>'ignore_first' =&gt; false</p>
</li><li class="listitem">
<p>'first_as_key' =&gt; false</p>
</li></ul></div><p>
</p>
<p>Typical data (using the default values)</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">10,55
12,78
15,98</span></pre></td></tr></table></div><p>
</p>
<p>would result in</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
4
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">$aData = array(
0 =&gt; array(10,12,15),
1 =&gt; array(55,78,98)
);</span></pre></td></tr></table></div><p>
</p>
<p>If 'first_as_key'=&gt;true and the data looks looks like</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
4
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">&quot;key&quot;,&quot;value&quot;
10,55
12,78
15,98</span></pre></td></tr></table></div><p>
</p>
<p>the data would instead be read as</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
4
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">$aData = array(
&quot;key&quot; =&gt; array(10,12,15),
&quot;value&quot; =&gt; array(55,78,98)
);</span></pre></td></tr></table></div><p>
</p>
</dd><dt><span class="term">ReadFileData::FromMatrix($aFile,$aSepChar=' ')</span></dt><dd>
<p>This method is especially suited o read matrix data from a file
for use with the Matrix visualization (described in <a class="xref" href="ch22.html" title="Chapter 22. Matrix graphs">Chapter 22. <i>Matrix graphs</i></a>). Each line in the file
corresponds to one row in the matrix.</p>
<p>Typical data can look like</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">13,87,12
15,99,33
19,86,61</span></pre></td></tr></table></div><p>
</p>
<p>Which wold return a matrix looking like</p>
<p>
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
2
3
4
5
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">array(
array(13,87,12),
array(15,99,33),
array(19,86,61)
);</span></pre></td></tr></table></div><p>
</p>
</dd></dl></div><p>
</p>
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"><a accesskey="u" href="ch13.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>