This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.
<p>The goal of this part is to introduce some basic concepts that must be known when
creating graphs with the JpGraph library. It will also serve as a gentle introduction on
how to structure a basic graph script. </p>
<p>The challenge of writing a good manual is that it is sometimes necessary to use
concepts that might not have been fully explained in order to clarify some even more
basic concept. So if there are parts that you do not fully understand do not despair.
The remainder of the manual will explain a lot more of the details. </p>
<divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="chapter"><ahref="ch04.html">4. Your first graph script</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch04.html#id2492897">4.1. Some words of caution</a></span></dt><dt><spanclass="sect1"><ahref="ch04s02.html">4.2. Graphing the number of sun spots during the 19th Century</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch04s02.html#id2492934">4.2.1. The historic data</a></span></dt><dt><spanclass="sect2"><ahref="ch04s02.html#sec.preparing-sunspots-data">4.2.2. Preparing the data</a></span></dt><dt><spanclass="sect2"><ahref="ch04s02.html#id2492973">4.2.3. A basic line graph</a></span></dt><dt><spanclass="sect2"><ahref="ch04s02.html#id2493198">4.2.4. A basic bar graph</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="ch05.html">5. Fundamentals of dynamic graph generation</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch05.html#sec1.making-sense-of-HTTP-streams">5.1. Making sense of HTTP streams and MIME types</a></span></dt><dt><spanclass="sect1"><ahref="ch05s02.html">5.2. What is an image?</a></span></dt><dt><spanclass="sect1"><ahref="ch05s03.html">5.3. Static vs dynamic images</a></span></dt><dt><spanclass="sect1"><ahref="ch05s04.html">5.4. Dynamic images on the command line</a></span></dt><dt><spanclass="sect1"><ahref="ch05s05.html">5.5. How to generate images with JpGraph library</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch05s05.html#id2494467">5.5.1. The standard steps of setting up a graph</a></span></dt><dt><spanclass="sect2"><ahref="ch05s05.html#id2494641">5.5.2. Choosing the image compression format for JpGraph</a></span></dt><dt><spanclass="sect2"><ahref="ch05s05.html#id2494706">5.5.3. Sending back the image to the browser</a></span></dt><dt><spanclass="sect2"><ahref="ch05s05.html#sec2.writing-miage-to-file">5.5.4. Writing the image directly to a file</a></span></dt><dt><spanclass="sect2"><ahref="ch05s05.html#id2494959">5.5.5. Alternatives to streaming or storing the image</a></span></dt><dt><spanclass="sect2"><ahref="ch05s05.html#sec2.forcing-browser-update">5.5.6. Forcing the browser to update your graph</a></span></dt><dt><spanclass="sect2"><ahref="ch05s05.html#id2495089">5.5.7. Printing the generated image</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch05s06.html">5.6. Efficient graph generation using the built-in cache subsystem</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="ch06.html">6. Error handling</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch06.html#id2495302">6.1. The problem with error messages and images</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch06.html#id2495400">6.1.1. Catching errors in other parts of the system while creating images</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch06s02.html">6.2. Available error messages</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch06s02.html#sec2.localizing-errmsg">6.2.1. Localizing error messages</a></span></dt><dt><spanclass="sect2"><ahref="ch06s02.html#id2495515">6.2.2. Error messages on a production server</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch06s03.html">6.3. Using PHP Exceptions</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch06s03.html#id2495896">6.3.1. Selecting between text and image based error handling</a></span></dt><dt><spanclass="sect2"><ahref="ch06s03.html#id2495901">6.3.2. Writing error message to a log file (or system logger)</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch06s04.html">6.4. Adding a new locale</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="ch07.html">7. Color handling</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch07.html#id2496153">7.1. Specifying colors by name</a></span></dt><dt><spanclass="sect1"><ahref="ch07s02.html">7.2. Specifying colors by RGB triples</a></span></dt><dt><spanclass="sect1"><ahref="ch07s03.html">7.3. Using HTML color specifications</a></span></dt><dt><spanclass="sect1"><ahref="ch07s04.html">7.4. Fine tuning the color</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch07s04.html#sec2.alpha-channel">7.4.1. Specifying the alpha channel (color transparency)</a></span></dt><dt><spanclass="sect2"><ahref="ch07s04.html#id2496356">7.4.2. Adjusting the brightness</a></span></dt><dt><spanclass="sect2"><ahref="ch07s04.html#id2496665">7.4.3. Combining brightness and transparency adjustment</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch07s05.html">7.5. Additional color handling</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="ch08.html">8. Text and font handling</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch08.html#id2496825">8.1. Different types of fonts</a></span></dt><dt><spanclass="sect1"><ahref="ch08s02.html">8.2. Font families and font styles</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch08s02.html#id2496988">8.2.1. Default TrueType Font</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch08s03.html">8.3. Understanding text alignment and anchor point</a></span></dt><dt><spanclass="sect1"><ahref="ch08s04.html">8.4. Rotating text</a></span></dt><dt><spanclass="sect1"><ahref="ch08s05.html">8.5. Formatting text paragraphs</a></span></dt><dt><spanclass="sect1"><ahref="ch08s06.html">8.6. Adding custom TTF fonts</a></span></dt><dt><spanclass="sect1"><ahref="ch08s07.html">8.7. Inserting Unicode entities</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch08s07.html#id2499171">8.7.1. The utility class "SymChar"</a></span></dt><dt><spanclass="sect2"><ahref="ch08s07.html#id2500148">8.7.2. Graph example with Greek labels</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch08s08.html">8.8. Character encoding</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch08s08.html#id2500277">8.8.1. Japanese encoding options</a></span></dt><dt><spanclass="sect2"><ahref="ch08s08.html#id2500408">8.8.2. Chinese encoding options</a></span></dt><dt><spanclass="sect2"><ahref="ch08s08.html#id2500502">8.8.3. Cyrillic encoding options</a></span></dt><dt><spanclass="sect2"><ahref="ch08s08.html#id2500687">8.8.4. Hebrew encoding options</a></span></dt><dt><spanclass="sect2"><ahref="ch08s08.html#id2500718">8.8.5. Greek encoding options</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="ch09.html">9. Using the JpGraph cache system</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch09.html#id2500903">9.1. Enabling the library cache system</a></span></dt><dt><spanclass="sect1"><ahref="ch09s02.html">9.2. Permission settings for the cache files</a></span></dt><dt><spanclass="sect1"><ahref="ch09s03.html">9.3. Using the cache in your script</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch09s03.html#id2535216">9.3.1. Manually controlling the cached image</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch09s04.html">9.4. Using the cache with Client Side Image Maps (CSIM)</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="ch10.html">10. Using CSIM (Client side image maps)</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch10.html#id2535547">10.1. The principles</a></span></dt><dt><spanclass="sect1"><ahref="ch10s02.html">10.2. The basic structure of an image map script</a></span></dt><dt><spanclass="sect1"><ahref="ch10s03.html">10.3. Specifying targets for image map plots</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch10s03.html#id2535974">10.3.1. Creating popup-windows as targets for CSIM</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch10s04.html">10.4. Using StrokeCSIM()</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch10s04.html#id2536113">10.4.1. Optional argument to StrokeCSIM()</a></span></dt><dt><spanclass="sect2"><ahref="ch10s04.html#id2536192">10.4.2. How does StrokeCSIM() work?</a></span></dt><dt><spanclass="sect2"><ahref="ch10s04.html#id2536305">10.4.3. Image maps and the cache system</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="ch10s05.html">10.5. Getting hold of the image map</a></span></dt><dt><spanclass="sect1"><ahref="ch10s06.html">10.6. Mixing several CSIM images in an HTML page with text</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="ch10s06.html#sec2.adding-csim-in-html">10.6.1. Adding one CSIM graph in a HTML page</a></span></dt><dt><spanclass="sect2"><ahref="ch10s06.html#id2536476">10.6.2. Adding multiple CSIM graphs in a HTML page</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="ch11.html">11. NuSphere PHP accelerator</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="ch11.html#id2537194">11.1. Introduction and purpose</a></span></dt><dt><spanclass="sect1"><ahref="ch11s02.html">11.2. Installing PhpExpress</a></span></dt></dl></dd></dl></div></div>