pt02.html
10.6 KB
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Part II. Basic graph creation</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="index.html" title="JpGraph Manual"></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">Part II. Basic graph creation</th></tr></table><hr></div><div class="part" title="Part II. Basic graph creation"><div class="titlepage"><div><div><h1 class="title"><a name="id2492846"></a>Part II. Basic graph creation</h1></div></div></div>
<div class="partintro" title="Basic graph creation"><div></div>
<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>
<div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch04.html">4. Your first graph script</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#id2492897">4.1. Some words of caution</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">4.2. Graphing the number of sun spots during the 19th Century</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#id2492934">4.2.1. The historic data</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#sec.preparing-sunspots-data">4.2.2. Preparing the data</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#id2492973">4.2.3. A basic line graph</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#id2493198">4.2.4. A basic bar graph</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch05.html">5. Fundamentals of dynamic graph generation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch05.html#sec1.making-sense-of-HTTP-streams">5.1. Making sense of HTTP streams and MIME types</a></span></dt><dt><span class="sect1"><a href="ch05s02.html">5.2. What is an image?</a></span></dt><dt><span class="sect1"><a href="ch05s03.html">5.3. Static vs dynamic images</a></span></dt><dt><span class="sect1"><a href="ch05s04.html">5.4. Dynamic images on the command line</a></span></dt><dt><span class="sect1"><a href="ch05s05.html">5.5. How to generate images with JpGraph library</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s05.html#id2494467">5.5.1. The standard steps of setting up a graph</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#id2494641">5.5.2. Choosing the image compression format for JpGraph</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#id2494706">5.5.3. Sending back the image to the browser</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#sec2.writing-miage-to-file">5.5.4. Writing the image directly to a file</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#id2494959">5.5.5. Alternatives to streaming or storing the image</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#sec2.forcing-browser-update">5.5.6. Forcing the browser to update your graph</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#id2495089">5.5.7. Printing the generated image</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s06.html">5.6. Efficient graph generation using the built-in cache subsystem</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch06.html">6. Error handling</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch06.html#id2495302">6.1. The problem with error messages and images</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06.html#id2495400">6.1.1. Catching errors in other parts of the system while creating images</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch06s02.html">6.2. Available error messages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06s02.html#sec2.localizing-errmsg">6.2.1. Localizing error messages</a></span></dt><dt><span class="sect2"><a href="ch06s02.html#id2495515">6.2.2. Error messages on a production server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch06s03.html">6.3. Using PHP Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06s03.html#id2495896">6.3.1. Selecting between text and image based error handling</a></span></dt><dt><span class="sect2"><a href="ch06s03.html#id2495901">6.3.2. Writing error message to a log file (or system logger)</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch06s04.html">6.4. Adding a new locale</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch07.html">7. Color handling</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch07.html#id2496153">7.1. Specifying colors by name</a></span></dt><dt><span class="sect1"><a href="ch07s02.html">7.2. Specifying colors by RGB triples</a></span></dt><dt><span class="sect1"><a href="ch07s03.html">7.3. Using HTML color specifications</a></span></dt><dt><span class="sect1"><a href="ch07s04.html">7.4. Fine tuning the color</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s04.html#sec2.alpha-channel">7.4.1. Specifying the alpha channel (color transparency)</a></span></dt><dt><span class="sect2"><a href="ch07s04.html#id2496356">7.4.2. Adjusting the brightness</a></span></dt><dt><span class="sect2"><a href="ch07s04.html#id2496665">7.4.3. Combining brightness and transparency adjustment</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch07s05.html">7.5. Additional color handling</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch08.html">8. Text and font handling</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch08.html#id2496825">8.1. Different types of fonts</a></span></dt><dt><span class="sect1"><a href="ch08s02.html">8.2. Font families and font styles</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s02.html#id2496988">8.2.1. Default TrueType Font</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s03.html">8.3. Understanding text alignment and anchor point</a></span></dt><dt><span class="sect1"><a href="ch08s04.html">8.4. Rotating text</a></span></dt><dt><span class="sect1"><a href="ch08s05.html">8.5. Formatting text paragraphs</a></span></dt><dt><span class="sect1"><a href="ch08s06.html">8.6. Adding custom TTF fonts</a></span></dt><dt><span class="sect1"><a href="ch08s07.html">8.7. Inserting Unicode entities</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s07.html#id2499171">8.7.1. The utility class "SymChar"</a></span></dt><dt><span class="sect2"><a href="ch08s07.html#id2500148">8.7.2. Graph example with Greek labels</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s08.html">8.8. Character encoding</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s08.html#id2500277">8.8.1. Japanese encoding options</a></span></dt><dt><span class="sect2"><a href="ch08s08.html#id2500408">8.8.2. Chinese encoding options</a></span></dt><dt><span class="sect2"><a href="ch08s08.html#id2500502">8.8.3. Cyrillic encoding options</a></span></dt><dt><span class="sect2"><a href="ch08s08.html#id2500687">8.8.4. Hebrew encoding options</a></span></dt><dt><span class="sect2"><a href="ch08s08.html#id2500718">8.8.5. Greek encoding options</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch09.html">9. Using the JpGraph cache system</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch09.html#id2500903">9.1. Enabling the library cache system</a></span></dt><dt><span class="sect1"><a href="ch09s02.html">9.2. Permission settings for the cache files</a></span></dt><dt><span class="sect1"><a href="ch09s03.html">9.3. Using the cache in your script</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch09s03.html#id2535216">9.3.1. Manually controlling the cached image</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch09s04.html">9.4. Using the cache with Client Side Image Maps (CSIM)</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch10.html">10. Using CSIM (Client side image maps)</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch10.html#id2535547">10.1. The principles</a></span></dt><dt><span class="sect1"><a href="ch10s02.html">10.2. The basic structure of an image map script</a></span></dt><dt><span class="sect1"><a href="ch10s03.html">10.3. Specifying targets for image map plots</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch10s03.html#id2535974">10.3.1. Creating popup-windows as targets for CSIM</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch10s04.html">10.4. Using StrokeCSIM()</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch10s04.html#id2536113">10.4.1. Optional argument to StrokeCSIM()</a></span></dt><dt><span class="sect2"><a href="ch10s04.html#id2536192">10.4.2. How does StrokeCSIM() work?</a></span></dt><dt><span class="sect2"><a href="ch10s04.html#id2536305">10.4.3. Image maps and the cache system</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch10s05.html">10.5. Getting hold of the image map</a></span></dt><dt><span class="sect1"><a href="ch10s06.html">10.6. Mixing several CSIM images in an HTML page with text</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch10s06.html#sec2.adding-csim-in-html">10.6.1. Adding one CSIM graph in a HTML page</a></span></dt><dt><span class="sect2"><a href="ch10s06.html#id2536476">10.6.2. Adding multiple CSIM graphs in a HTML page</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch11.html">11. NuSphere PHP accelerator</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch11.html#id2537194">11.1. Introduction and purpose</a></span></dt><dt><span class="sect1"><a href="ch11s02.html">11.2. Installing PhpExpress</a></span></dt></dl></dd></dl></div></div>
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </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>