1.) Introduction
 
 
2.) Charting Basics
 
  2.1.) What's in a Chart
 
  2.2.) Basic Data Mapping
 
 
3.) Creating a Chart
 
  3.1.) Data Source Options
 
    3.1.1.) Chart Parameter Linking
 
  3.2.) Transposing Data
 
  3.3.) Multiple Data Sources
 
 
4.) Chart Types and Data Mapping
 
  4.1.) Data Mapping
 
  4.2.) Column Charts
 
    4.2.1.) Data Mapping
 
  4.3.) Bar Charts
 
    4.3.1.) Data Mapping
 
  4.4.) XY(Z) Scatter Charts
 
    4.4.1.) Data Mapping
 
  4.5.) Line Charts
 
    4.5.1.) Data Mapping
 
  4.6.) Stack Column Charts
 
    4.6.1.) Data Mapping
 
  4.7.) Stack Bar Charts
 
    4.7.1.) Data Mapping
 
  4.8.) Pie Charts
 
    4.8.1.) Data Mapping
 
  4.9.) Area Charts
 
    4.9.1.) Data Mapping
 
  4.10.) Stack Area Charts
 
    4.10.1.) Data Mapping
 
  4.11.) High-Low Charts
 
    4.11.1.) Data Mapping
 
  4.12.) HLCO Charts
 
    4.12.1.) Data Mapping
 
  4.13.) Percentage Column Charts
 
    4.13.1.) Data Mapping
 
  4.14.) Surface Charts
 
    4.14.1.) Data Mapping
 
  4.15.) Bubble Charts
 
    4.15.1.) Data Mapping
 
  4.16.) Overlay Charts
 
    4.16.1.) Data Mapping
 
  4.17.) Box Charts
 
    4.17.1.) Data Mapping
 
  4.18.) Radar Charts
 
    4.18.1.) Data Mapping
 
  4.19.) Dial Charts
 
    4.19.1.) Data Mapping
 
    4.19.2.) Gauges
 
  4.20.) Gantt Charts
 
    4.20.1.) Data Mapping
 
  4.21.) Polar Charts
 
    4.21.1.) Data Mapping
 
  4.22.) Changing Data Mapping or Data Source
 
 
5.) The Designer Interface
 
  5.1.) The Designer Menus
 
    5.1.1.) File Menu
 
    5.1.2.) Insert Menu
 
    5.1.3.) Format Menu
 
    5.1.4.) Type Menu
 
    5.1.5.) Drill-Down Menu
 
    5.1.6.) Data Menu
 
    5.1.7.) Layout Menu
 
  5.2.) The Designer Toolbar
 
  5.3.) Color, Pattern, and Font Panels
 
    5.3.1.) Color Panel
 
    5.3.2.) Pattern Panel
 
    5.3.3.) Font Panel
 
  5.4.) The Navigation Panel
 
  5.5.) The Viewport
 
    5.5.1.) The Chart Canvas
 
      5.5.1.1) Background Images
 
    5.5.2.) Moving and Sizing Chart Elements
 
  5.6.) Adding Chart Elements
 
    5.6.1.) Adding Text
 
      5.6.1.1) Text Variables
 
      5.6.1.2) Text Replacement
 
      5.6.1.3) Automatic Text Re-sizing
 
      5.6.1.4) Text Cropping
 
    5.6.2.) Adding Lines
 
      5.6.2.1) Line and Point Formatting
 
      5.6.2.2) Floating Lines
 
      5.6.2.3) Fixed Horizontal/Vertical Lines
 
      5.6.2.4) Trend Lines
 
        5.6.2.4.1) Normal Distribution Curve
 
    5.6.3.) Adding Control Areas
 
    5.6.4.) Adding Tables
 
    5.6.5.) Adding Hyperlinks
 
      5.6.5.1) Viewing Hyperlinks
 
  5.7.) Formatting Chart Axes
 
    5.7.1.) Axis Scale
 
    5.7.2.) Axis Elements
 
      5.7.2.1) Axis Label Formatting
 
  5.8.) Formatting Plot/Data Elements
 
    5.8.1.) Data Properties
 
    5.8.2.) Date/Time Based Zooming
 
      5.8.2.1) Adding Zooming
 
      5.8.2.2) Zooming in Chart Viewer
 
    5.8.3.) Data Ordering
 
    5.8.4.) Histograms
 
    5.8.5.) Formatting Plot Area
 
    5.8.6.) Formatting Chart Legend
 
    5.8.7.) 3D Rendering Approximation
 
    5.8.8.) Column Borders
 
  5.9.) Chart-Specific Options
 
    5.9.1.) Bubble Charts
 
    5.9.2.) Dial Charts
 
      5.9.2.1.) Gauge Images
 
    5.9.3.) Overlay Charts
 
    5.9.4.) Pie Charts
 
    5.9.5.) Line Charts
 
      5.9.5.1) Double Value Line Charts
 
    5.9.6.) HLCO Charts
 
    5.9.7.) Box Charts
 
    5.9.8.) Stack Area Charts
 
    5.9.9.) Gantt Charts
 
    5.9.10.) Radar Charts
 
    5.9.11.) Scatter Charts
 
    5.9.12.) Scatter Charts
 
    5.9.13.) Column Charts with Series
 
    5.9.14.) Two-Dimensional Line Combination
Charts

 
 
6.) Drill Down
 
  6.1.) Data Drill Down
 
    6.1.1.) Adding Data Drill Down
 
  6.2.) Dynamic Data Drill Down
 
  6.3.) Parameter Drill Down
 
    6.3.1.) Adding Parameter Drill Down
 
 
7.) Saving & Exporting Charts
 
  7.1.) Saving Charts with Report Data
 
  7.2.) Saving Charts without Report Data
 
    7.2.1.) Working with Templates
 
    7.2.2.) Saving XML Templates
 
    7.2.3.) Creating a Viewer Page
 
      7.2.3.1) Viewer Options
 
  7.3.) Exporting Charts
 
    7.3.1.) PDF Font Mapping
 
      7.3.1.1) PDF Font Mapping Import/Export
 
 
8.) Chart Viewer
 
  8.1.) The Chart Viewer Parameters
 
  8.2.) Specifying the Data Source For Chart
Viewer

 
    8.2.1.) Data Read From a Database
 
    8.2.2.) Data Read From a Data file
 
    8.2.3.) Data Read From an Argument
 
  8.3.) Using Chart Viewer
 
  8.4.) Axis Rulers
 
  8.5.) Parameter Server
 
  8.6.) Pop-up Menu
 
    8.6.1.) Changing chart dimension and type
 
    8.6.2.) Axis zooming
 
    8.6.3.) Zooming
 
    8.6.4.) Dynamic Data Drill Down
 
    8.6.5.) Query Parameter
 
  8.7.) Swing Version
 
 
9.) EspressReport Chart API
 
  9.1.) Introduction and Setup
 
  9.2.) Recommended Approach for using Chart API
 
  9.3.) Interaction with EspressManager
 
  9.4.) Connecting to EspressManager
 
    9.4.1.) EspressManager running as application
 
    9.4.2.) EspressManager running as servlet
 
  9.5.) Using the API
 
    9.5.1.) Loading a Chart
 
      9.5.1.1.) Parameterized Charts
 
        9.5.1.1.1.) Object Array
 
    9.5.2.) Applying a Chart Template
 
    9.5.3.) Modifying Data Source
 
      9.5.3.1.) Data from a Database
 
        9.5.3.1.1.) JNDI
 
      9.5.3.2.) Data from a Data File (TXT/DAT)
 
      9.5.3.3.) Data from an XML Data Source
 
      9.5.3.4.) Data from Custom Implementation
 
      9.5.3.5.) Data passed in an Array in Memory
 
    9.5.4.) Modifying Chart Attributes
 
      9.5.4.1.) Modifying Color, Font, ...
 
      9.5.4.2.) Setting Predefined Patterns
 
      9.5.4.3.) Setting Customized Patterns
 
      9.5.4.4.) Modifying Size
 
      9.5.4.5.) Modifying Date/Time Zoom Charts
 
      9.5.4.6.) Modifying Chart in Report
 
    9.5.5.) Exporting the Chart
 
      9.5.5.1.) Record File Exporting
 
      9.5.5.2.) Streaming Charts
 
  9.6.) API Only Features
 
    9.6.1.) Visual
 
      9.6.1.1.) Canvas/Plot
 
        9.6.1.1.1.) Customizable Message for
No-Data-In-Plot

 
        9.6.1.1.2.) Set Chart to Fit Canvas
 
        9.6.1.1.3.) Set Chart Invisible
 
        9.6.1.1.4.) Applying Different Graphics
Rendering

 
        9.6.1.1.5.) Chart Plot Position
 
        9.6.1.1.6.) Drawing Multiple Charts in same Plot
 
      9.6.1.2.) Hint Box
 
        9.6.1.2.1.) Modify Hint Box
 
        9.6.1.2.2.) Data and Hyperlink Hint Box Offset
 
        9.6.1.2.3.) Hint Box Border Color
 
        9.6.1.2.4.) Customize Image Map Hint Box
 
      9.6.1.3.) Legend/Annotation
 
        9.6.1.3.1.) Annotation with Symbol
 
        9.6.1.3.2.) Set Reference Position of Legend
and Annotation Text

 
      9.6.1.4.) Misc.
 
        9.6.1.4.1.) Ticker Label Replacement
 
        9.6.1.4.2.) Customizable Data Top Label
 
        9.6.1.4.3.) Show Value Axis as
Date/Time/Timestamp

 
        9.6.1.4.4.) Selective String Rendering
 
        9.6.1.4.5.) Drawing Data Points above
Horizontal/Vertical/Trend Lines

 
    9.6.2.) Data
 
      9.6.2.1.) Getting the Coordinates
 
      9.6.2.2.) Set Data Limit at Axis Scale
 
      9.6.2.3.) Set Null Data as Zero
 
      9.6.2.4.) Additional Trend Line Options
 
    9.6.3.) Chart Specific
 
      9.6.3.1.) Column/Bar Charts
 
        9.6.3.1.1.) Color Separator
 
        9.6.3.1.2.) Disabling Shadow
 
      9.6.3.2.) Pie Charts
 
        9.6.3.2.1.) Drawing Pie Slices Clockwise/Counter
Clockwise

 
        9.6.3.2.2.) Pie Border for 0% and 100% Slices
 
        9.6.3.2.3.) Customize Separator between Category
and Percent Value Strings in Pie Legend

 
        9.6.3.2.4.) Pie Border Color Customizable
 
      9.6.3.3.) Line Charts
 
        9.6.3.3.1.) Line Area
 
      9.6.3.4.) Scatter Charts
 
        9.6.3.4.1.) Show Series in Top Label
 
        9.6.3.4.2.) Drawing Order
 
        9.6.3.4.3.) Scatter Chart Cube Width
 
      9.6.3.5.) Overlay Charts
 
        9.6.3.5.1.) Multiple Axes Titles
 
      9.6.3.6.) Dial Charts
 
        9.6.3.6.1.) Control Area Scale Labels
 
      9.6.3.7.) HLCO Charts
 
        9.6.3.7.1.) Changing Candle Stick Color
 
        9.6.3.7.2.) Changing CandleStick Wicker Width
 
      9.6.3.8.) Surface Charts
 
        9.6.3.8.1.) Heat Map
 
    9.6.4.) Performance
 
      9.6.4.1.) BufferedImage or Frame
 
      9.6.4.2.) Chart Generation Order
 
    9.6.5.) Viewer
 
      9.6.5.1.) Call Back Mechanism
 
      9.6.5.2.) Disable/Enable Tools Tips Text
 
      9.6.5.3.) Canvas Area
 
  9.7.) Changing Chart Viewer Options
 
  9.8.) Javadoc
 
  9.9.) Swing Version
 
  9.10.) Summary
 
Appendix A: Customizing Chart Layout
 
  A.1.) Changing the Chart Plot Area
 
  A.2.) Changing the Canvas Area
 
  A.3.) Fit Chart Elements
 
  A.4.) Changing Position of Legend Box
 
  A.5.) Attaching Labels to Datapoints
 
 
Appendix B: Getting the data
 
  B.1.) Data from a Database
 
    B.1.1.) JNDI
 
  B.2.) Data from a Data file (TXT/DAT/XML)
 
  B.4.) Data passed in an array in memory
 
  B.5.) Data passed in your custom implementation
 
  B.7.) Data from Enterprise Java Beans (EJB's)
 
  B.8.) Data from multiple Data Sources
 
  B.9.) Data in Spreadsheet format
 
  B.10.) Transposing Data
 
    B.10.1.) Non-selective Transposing
 
    B.10.2.) Selective Transposing
 
 
Appendix C: Creating the Chart
 
  C.1.) Column, Bar, Line, Area, Pie and Overlay Charts
 
    C.1.1.) Column Mapping
 
    C.1.2.) Creating the Chart
 
  C.2.) Radar Charts
 
    C.2.1.) Column Mapping
 
    C.2.2.) Creating the Chart
 
  C.3.) XY(Z) Scatter Charts
 
    C.3.1.) Column Mapping
 
    C.3.2.) Creating the Chart
 
  C.4.) Stack Column, Percentage Column, Stack Bar and Stack Area Charts
 
    C.4.1.) Column Mapping
 
    C.4.2.) Creating the Chart
 
  C.5.) Dial Charts
 
    C.5.1.) Column Mapping
 
    C.5.2.) Creating the Chart
 
  C.6.) Box Charts
 
    C.6.1.) Column Mapping
 
    C.6.2.) Creating the Chart
 
  C.7.) Bubble Charts
 
    C.7.1.) Column Mapping
 
    C.7.2.) Creating the Chart
 
  C.8.) High-Low and HLCO Charts
 
    C.8.1.) Column Mapping
 
    C.8.2.) Creating the Chart
 
  C.9.) Surface Charts
 
    C.9.1.) Column Mapping
 
    C.9.2.) Creating the Chart
 
  C.10.) Gantt Charts
 
    C.10.1.) Column Mapping
 
    C.10.2.) Creating the Chart
 
  C.11.) Polar Charts
 
    C.11.1.) Column Mapping
 
    C.11.2.) Creating the Chart
 
  C.12.) Date/Time Based Zoom Charts
 
  C.13.) Parameterized Charts
 
  C.14.) Drill Down Charts
 
    C.14.1.) Parameter Drill Down Charts
 
    C.14.2.) Data Drill Down Charts
 
    C.14.3.) Dynamic Data Drill Down Charts
 
  C.15.) Adding a Chart to a Report
 
    C.15.1.) Adding a Chart Template
 
    C.15.2.) Adding a Chart that uses Report Data
 
    C.15.3.) Adding a Chart that uses an Independent Data Source