ElegantJ Charts Library – Programmers’ Guide

 

User Manual - Version 1.0.03

 


 

Table of Content

 

1    Preface  8

1.1    Purpose of this document  8

1.2    Assumptions  8

1.3    Document Organization   8

1.4    Related Documents  9

1.5    Conventions Used   9

2    About ElegantJ Charts  10

2.1    ElegantJ Charts Features  10

3    ElegantJ Charts Toolkit  12

3.1    Chart Components  12

3.1.1    Overview   12

3.1.2    Different Chart Types and Sub Types  12

3.2    ElegantJ Charts Designer   13

3.3    Data Binding   14

4    Chart Type Selection Guidelines  15

4.1    Bar Chart  15

4.2    Line Chart  17

4.3    Area Chart  19

4.4    Pie Chart  20

4.5    Radar Chart  21

4.6    Combined Chart  22

4.7    Histogram Chart  23

4.8    XYScatter Chart  24

4.9    Bubble Chart  25

4.10    Stock Chart  26

4.11    Doughnut Chart  27

5    Installation & Registration   28

5.1    Prerequisite  28

5.2    Installation Procedure  28

5.2.1    Installing on Windows 95/98  28

5.2.2    Installing on Windows NT/2000/XP  28

5.2.3    Installing on Unix/Linux  28

5.3    Using with Different IDEs  29

5.3.1    Adding ElegantJ Charts to Borland JBuilder  29

5.3.2    Adding ElegantJ Charts to Sun Java Studio Creator IDE  32

5.3.3    Adding ElegantJ Charts to NetBeans IDE  35

5.3.4    Adding ElegantJ Charts into Eclipse Editor  40

5.3.5    Adding ElegantJ Charts into Servoy Developer  41

5.4    Getting and Using the License Key   43

5.4.1    How to Purchase  43

5.4.2    Configuring License Key  43

5.4.2.1    Configuring with Graphical User Interface of IDE  43

5.4.2.2    Configuring Directly within Source Code  44

6    ElegantJ Charts Architecture  45

6.1    Working with Different Java Architectures  46

6.1.1    Java Enterprise Edition  46

6.1.2    JSP  46

6.1.3    Servlet  47

6.1.4    Java Application or Applet (Java Standard Edition) 48

6.2    Working with Different Data Sources  50

6.2.1    Text Data Access  50

6.2.2    SQL Data Access  51

6.2.3    Data Access Through HTTP  52

6.2.4    Data Access Through FTP  54

6.2.5    XML Data Access  55

7    Interoperability and Integration with XML  57

7.1    Why XML?  57

7.2    What is EJXML?  57

7.3    Introduction to the EJXML Format  58

7.4    Introduction to EJXML Data Format  61

8    ElegantJ Charts Designer   63

8.1    Installation   63

8.1.1    Prerequisite  63

8.1.2    Installation Procedure  63

8.1.2.1    Installing on Windows 95/98  63

8.1.2.2    Installing on Windows NT/2000/XP  64

8.1.2.3    Installing on Unix/Linux  64

8.1.3    Running the ElegantJ Charts Designer  64

8.2    ElegantJ Charts Designer Features  64

8.3    Using the Designer   65

8.4    Using the XML  65

9    Programmer's FAQs  66

9.1    General Features  66

9.1.1    How to Select the Charts Sub Type? 66

9.1.2    How to Enable Charts Data Sorting? 69

9.1.3    How to Select Font Name, Type and Size? 70

9.1.4    How to Set Chart Size (Width and Height)? 71

9.1.5    How to Enable/Disable Chart Drill-Down Effect? 72

9.1.6    How to Choose From Various Display Formats To Show Formatted Data On Chart? 73

9.1.7    How to Export Chart in GIF or JPEG Formats? 74

9.1.8    How to Set 2D/3D Chart? 75

9.1.9    How to Set the 3D Horizontal Offset? 76

9.1.10     How to Set the 3D Vertical Offset? 77

9.2    Common Properties  78

9.2.1    Chart Area Properties  78

9.2.1.1    How to Set Chart Background Visible? 78

9.2.1.2    How to Set Chart Background Color? 79

9.2.1.3    How to Set Gradient Effect (Linear/Conical/ Square/Radial)? 80

9.2.2    Background Properties  81

9.2.2.1    How to Set Border Effect (None/Solid/Dash/Dot/ DashDot/DashDotDot/Raised/Lowered)? 81

9.2.2.2    How to Set Chart Background Visible? 82

9.2.2.3    How to Set Chart Background Color? 83

9.2.2.4    How to Set Background Image? 84

9.2.2.5    How to Use Image Rotation (Horizontal/Vertical/ Both) Feature? 85

9.2.2.6    How to Select Image Display Pattern (Center/ Stretch/Tiled)? 86

9.2.3    MouseOver Properties  87

9.2.3.1    How to Use MouseOver Effect Feature? 87

9.2.3.2    How to Use Macro-Enabled MouseOver Text Feature? 88

9.2.3.3    How to Use MouseOver Text Alignment (Top/ Center/Bottom)? 89

9.2.3.4    How to Set Text Font, Foreground, and Background? 90

9.2.3.5    How to Select Shadow Effect (None/Glow/Fade/ Hard)? 91

9.2.3.6    How to Set Border Effect (None/Solid/Dash/Dot/ DashDot/DashDotDot/Raised/Lowered)? 92

9.2.4    ToolTip Text  93

9.2.4.1    How to Set Macro Enabled Text? 93

9.2.4.2    How to Set Text Show Interval? 94

9.2.4.3    How to Set Text Visible Interval? 95

9.2.4.4    How to Set Text Font, Foreground and Background? 96

9.2.4.5    How to Set Border Effect (None/Solid/Dash/Dot/ DashDot/DashDotDot/Raised/Lowered)? 97

9.2.4.6    How to Select Shadow Effect (None/Glow/Fade/ Hard)? 98

9.2.5    Title Properties  99

9.2.5.1    How to Set Position (Top/Bottom)? 99

9.2.5.2    How to Select Alignment (Left/Right/Center)? 100

9.2.5.3    How to Set Font, Foreground and Background? 101

9.2.5.4    How to Set Border Effect (None/Solid/Dash/Dot/ DashDot/DashDotDot/Raised/Lowered)? 102

9.2.5.5    How to Select Shadow Effect (None/Glow/Fade/ Hard)? 103

9.2.6    Axis Properties  104

9.2.6.1    How to Set Axis Name? 104

9.2.6.2    How to Set Axis Name Alignment (Left/Right/ Center)? 105

9.2.6.3    How to Select Axis Name Border Effect (None/ Solid/Dash/Dot/DashDot/DashDotDot/Raised/ Lowered)? 106

9.2.6.4    How to Set Axis Name Font, Foreground and Background? 107

9.2.6.5    How to Set Axis Name Shadow Effect (None/ Glow/Fade/Hard)? 108

9.2.6.6    How to Set Label Font, Foreground and Background? 109

9.2.6.7    How to Enable Label Drill-Down (Enable/Disable)? 110

9.2.6.8    How to Set Label Tooltip Text? 111

9.2.6.9    How to Select Grid Style (None/Solid/ Dash/Dot/DashDot/DashDotDot)? 112

9.2.6.10     How to Select Grid Strip Color for X-Axis? 113

9.2.6.11     How to Select Computation Type (None/ Sum/Average/Valid Average/Count/Valid Count/ Maximum/Minimum) on Y-Axis? 114

9.2.6.12     How to Set Axis Maximum Value on Y-Axis? 115

9.2.6.13     How to Set Axis Minimum Value on Y-Axis? 116

9.2.6.14     How to Set Axis Division Value on Y-Axis? 117

9.2.6.15     How to Set Axis Unit Text on Y-Axis? 118

9.2.6.16     How to Set Position (East/West/North/South) for the Legend? 119

9.2.6.17     How to Select Alignment (Left/Right/Top/ Bottom/Center) for the Legend? 120

9.2.6.18     How to Select Legend Border Effect (None/Solid/ Dash/Dot/DashDot/DashDotDot/Raised/Lowered)? 121

9.2.6.19     How to Select Legend Shadow Effect (None/Glow/ Fade/Hard)? 122

9.2.6.20     How to Allow User to Select Color for Legend Value? 123

9.3    Chart Specific Properties  124

9.3.1    Bar Chart Properties  124

9.3.1.1    How to Select Bar Colors? 124

9.3.1.2    How to Set Bar Border Visible? 125

9.3.1.3    How to Set the Border Color? 126

9.3.1.4    How to Set the Transparency Level? 127

9.3.1.5    How to Set the Gradient Effect (Linear/Conical/ Square/Radial)? 128

9.3.1.6    How to Set the Tooltip Text Feature? 129

9.3.1.7    How to Set the Bar Width? 130

9.3.1.8    How to Set the Gap between Bars in Percentage? 131

9.3.2    Line Chart Properties  132

9.3.2.1    How to Select Line Style (Solid/Dash/Dot/ DashDot)? 132

9.3.2.2    How to Set the Line Position (Front/Middle/ Back)? 133

9.3.2.3    How to Enable Curve Line? 134

9.3.2.4    How to Set Line Colors? 135

9.3.2.5    How to Set Line Width? 136

9.3.2.6    How to Set Data Point Style (None/Square/ Circle/Triangle/Diamond/Star/Plus)? 137

9.3.2.7    How to Select Data Point Color? 138

9.3.2.8    How to Set Data Point Size (Width/Height)? 139

9.3.2.9    How to Select Data Point Border Color? 140

9.3.2.10     How to Select Strip Border Color? 141

9.3.2.11     How to Set Strip Width? 142

9.3.2.12     How to Set the Transparency Level? 143

9.3.2.13     How to Set the Tooltip Text Feature? 144

9.3.3    Area Chart Properties  145

9.3.3.1    How to Select Area Colors? 145

9.3.3.2    How to Set Area Border Visible? 146

9.3.3.3    How to Set the Border Color? 147

9.3.3.4    How to Set the Transparency Level? 148

9.3.3.5    How to Set the Gradient Effect (Linear/Conical/ Square/Radial)? 149

9.3.3.6    How to Set the Tooltip Text Feature? 150

9.3.3.7    How to Set the Area Width? 151

9.3.3.8    How to Set the Gap between Areas in Percentage? 152

9.3.4    Pie Chart Properties  153

9.3.4.1    How to Set Pie Colors? 153

9.3.4.2    How to Use Tooltip Text Feature? 154

9.3.4.3    How to Set Gradient Effect (Linear/Conical/ Square/Radial)? 155

9.3.4.4    How to Set the Border Color? 156

9.3.4.5    How to Set the Transparency Level? 157

9.3.4.6    How to Set Pie Size (Width/Height/Depth)? 158

9.3.4.7    How to Set Gap between Pie? 159

9.3.4.8    How to Select Pie Draw in Number of Row? 160

9.3.4.9    How to Select Pie Draw in Number of Columns? 161

9.3.4.10     How to Select Pie Start Angle? 162

9.3.4.11     How to Set Border Style (None/Simple/Raised/ Lowered)? 163

9.3.4.12     How to Set Border Width? 164

9.3.5    Radar Chart Properties  165

9.3.5.1    How to Set Colors for the Radar Chart? 165

9.3.5.2    How to Set Radar Diameter? 166

9.3.5.3    How to Set the Border Width? 167

9.3.5.4    How to Set Border Color? 168

9.3.5.5    How to Set Transparency Level? 169

9.3.5.6    How to Use Gradient Effect (Linear/Conical/ Square/Radial)? 170

9.3.5.7    How to Insert Tooltip Text? 171

9.3.6    Combined Chart Properties  172

9.3.6.1    How to Select Bar Colors? 172

9.3.6.2    How to Set Border Visible? 173

9.3.6.3    How to Set the Border Color? 174

9.3.6.4    How to Set the Transparency Level? 175

9.3.6.5    How to Set the Gradient Effect (Linear/Conical/ Square/Radial)? 176

9.3.6.6    How to Set the Tooltip Text Feature? 177

9.3.6.7    How to Set the Bar Width? 178

9.3.6.8    How to Set the Gap between Areas in Percentage? 179

9.3.6.9    How to Select Line Style (Solid/Dash/Dot/ DashDot)? 180

9.3.6.10     How to Set the Line Position (Front/Middle/ Back)? 181

9.3.6.11     How to Enable Curve Line? 182

9.3.6.12     How to Set Line Colors? 183

9.3.6.13     How to Set Line Width? 184

9.3.6.14     How to Set Data Point Shape Style (None/Square/ Circle/Triangle/Diamond/Star/Plus)? 185

9.3.6.15     How to Select Data Point Color? 186

9.3.6.16     How to Set Data Point Size (Width/Height)? 187

9.3.6.17     How to Select Data Point Border Color? 188

9.3.6.18     How to Select Strip Border Color? 189

9.3.6.19     How to Set Strip Width? 190

9.3.6.20     How to Set the Transparency Level? 191

9.3.6.21     How to Set the Tooltip Text Feature? 192

9.3.7    Histogram Properties  193

9.3.7.1    How to Indicate Start of a Section? 193

9.3.7.2    How to Indicate End of a Section? 194

9.3.7.3    How to Set the Width of the Section? 195

9.3.7.4    How to Select Bar Colors? 196

9.3.7.5    How to Set the Bar Width? 197

9.3.7.6    How to Set Gap between Bars in Percentage? 198

9.3.7.7    How to Select Border Style (None/Simple/Raised/ Lowered)? 199

9.3.7.8    How to Set Border Width? 200

9.3.7.9    How to Set Transparency Level? 201

9.3.7.10     How to Use Tooltip Text Feature? 202

9.3.7.11     How to Set Gradient Effect (Linear/Conical/ Square/Radial)? 203

9.3.8    XYScatter Line Properties  204

9.3.8.1    How to Select Line Style (Solid/Dash/Dot/ DashDot)? 204

9.3.8.2    How to Set the Line Position (Front/Middle/ Back)? 205

9.3.8.3    How to Enable Curve Line? 206

9.3.8.4    How to Set Line Colors? 207

9.3.8.5    How to Set Line Width? 208

9.3.8.6    How to Set Data Point Shape Style (None/Square/ Circle/Triangle/Diamond/Star/Plus)? 209

9.3.8.7    How to Select Data Point Color? 210

9.3.8.8    How to Set Data Point Size (Width/Height)? 211

9.3.8.9    How to Select Data Point Border Color? 212

9.3.8.10     How to Set the Transparency Level? 213

9.3.8.11     How to Set the Tooltip Text Feature? 214

9.3.9    Bubble Properties  215

9.3.9.1    How to Set the Bubble Position (Front/Middle/ Back)? 215

9.3.9.2    How to Set Bubble Colors? 216

9.3.9.3    How to Set Border Width? 217

9.3.9.4    How to Set the Transparency Level? 218

9.3.9.5    How to Set the Tooltip Text Feature? 219

9.3.9.6    How to Make Bubble Center Visible? 220

9.3.9.7    How to Select Bubble Computation Type (None/ Sum/Average/Valid Average/Count/Valid Count/ Maximum/Minimum)? 221

9.3.9.8    How to Set Gradient Effect (Linear/Conical/ Square/Radial)? 222

9.3.10     Candle Properties  223

9.3.10.1     How to Set the Start of A Session? 223

9.3.10.2     How to Set the End of a Session? 224

9.3.10.3     How to Set the Real Body Width? 225

9.3.10.4     How to Select the Filled Body Color? 226

9.3.10.5     How to Select the Empty Body Color? 227

9.3.10.6     How to Set the Shadow Line Width? 228

9.3.10.7     How to Set the Shadow Line Color? 229

9.3.10.8     How to Set Border Width? 230

9.3.10.9     How to Set Border Color? 231

9.3.10.10     How to Set Border Style (None/Simple/Raised/ Lowered/)? 232

9.3.10.11     How to Set Transparency Level? 233

9.3.10.12     How to Use Tooltip Text Feature? 234

9.3.11     Doughnut Chart Properties  235

9.3.11.1     How to Select Doughnut Colors? 235

9.3.11.2     How to Set the Doughnut Size (Width/Height/Depth)? 236

9.3.11.3     How to Set Border Width? 237

9.3.11.4     How to Set Border Color? 238

9.3.11.5     How to Set Transparency Level? 239

9.3.11.6     How to Use Tooltip Text Feature? 240

9.3.11.7     How to Set Gradient Effect (Linear/Conical/ Square/Radial)? 241

9.4    Different Java Architectures  242

9.4.1    How to incorporate ElegantJ Charts in Java Enterprise Edition? 242

9.4.2    How to incorporate Elegant J Charts in JSP? 242

9.4.3    How to incorporate Elegant J Charts in Servlet? 242

9.4.4    How to incorporate Elegant J Charts in Java Application or Applet (Java Standard Edition)? 242

10    Support Information   243


 

 

1     Preface

This preface describes the document. The preface contains the following sections:

 

Section

Page

Purpose of this document

8

Assumptions

8

Document Organization

8

Related Documents

9

Conventions Used

9

1.1 Purpose of this document

The purpose of this document is to provide the fundamental skills necessary to productively install, program, integrate, and use the ElegantJ Charts. This document provides both programmer and user perspective to the audience.

1.2 Assumptions

This manual assumes that readers are having reasonable level of exposure to fundamentals of Java programming and various architectures.

1.3 Document Organization

This document is organized as described in following tables.

Table 1 – Organization of the document

Chapter

Contents

About ElegantJ Charts

Ø  ElegantJ Charts Features

ElegantJ Charts Toolkit

Ø  Chart Components

Ø  ElegantJ Charts Designer

Ø  Data Binding

Chart Type Selection Guidelines

Ø  Different charts and their sub types

Installation & Registration

Ø  Installation Procedure

Ø  Using with Different IDEs

Ø  Getting and Using the License Key

ElegantJ Charts Architecture

Ø  Working with Different Java Architectures

Ø  Working with Different Data Sources

Interoperability and Integration with XML

Ø  Why XML?

Ø  What is EJXML?

Ø  Introduction to the EJXML Format

Ø  Introduction to EJXML Data Format

ElegantJ Charts Designer

Ø  Installation

Ø  ElegantJ Charts Designer Features

Ø  Using the Designer

Ø  Using the XML

Programmer's FAQs

Ø  Core components and definitions for different chart types

Ø  Programmers’ guide to frequently asked questions

1.4 Related Documents

Readers of this document can also refer to other ElegantJ Charts documents.

 

Ø  ElegantJ Charts Designer User Manual

o    About ElegantJ Charts Designer

o    Navigating ElegantJ Charts Designer

o    ElegantJ Charts Designer IDE

o    Chart Wizard

o    Chart Property

Ø  ElegantJ Charts API Documentation

Ø  ElegantJ Charts Demo Application

1.5 Conventions Used

 

File

Italic (slanted) type indicates variable values, instruction operands.

[ | ]
{
 | }

In syntax definitions, brackets indicate items that are optional and braces indicate items that are required. Vertical bars separating items inside brackets or braces indicate that you choose one item from among those listed.

. . .

In syntax definitions, a horizontal ellipsis indicates that the preceding item can be repeated one or more times.

Get(1)

A cross-reference to a reference page includes the appropriate section number in parentheses. For example, get(1) indicates that you can find information on the get command in Section 1 of the reference pages.

//

An explanation of a particular function performed by preceding code.


 

2     About ElegantJ Charts

ElegantJ Chart Library is a powerful tool in your hands when it is time to come up with excellent visual data representation. Every feature of this collection is carefully created to make chart creation, integration and deployment easy for you. ElegantJ Charts provides you more than 50 types of chart to choose from in 100% Java environment.

 

With 3-D presentation, seamless data handling from different data sources, XML interoperability, and special features like n-level Drill-Down, ElegantJ Charts Chart Library can work with almost all type of Java architecture.

 

A variety of 2D or 3D Java Charts can be incorporated as per your need with ElegantJ Charts chart library. Be it a Bar Chart, a Pie Chart, a Bubble or Stock Chart, you can simply select out of our collection of number of chart types to suit your purpose and requirement to get visually appealing output.

 

The advantages of ready-to-use XML templates:

 

Ø  A smart developer can just choose an off the shelf XML template from a wide variety offered by our Chart Library.

Ø  Selecting a template closest to your needs and customizing it to your requirements, eases the entire process of using charts in your application.

Ø  Save your time, energy and money.

 

In case you wish to bring more designer element to your charts, our ElegantJ Charts IDE will add to your benefits. The best part is that you do not require any special Java programming skills to use the charts from ElegantJ Charts IDE and wouldn’t require splurging on a third party IDE either. Thus, by choosing the option of combining our two products can enhance the quality of your productivity.

 

Key Features:

 

ü  Over 50 different types of charts

ü  3 – dimensional view with transparency and depth control

ü  N-level Drill-Down in charts for visual mining

ü  Tooltips and notes for graphs

ü  Comprehensive set of properties and events to configure

ü  Visual presentations, interactive actions, and data binding

ü  XML template support for integration and interoperability

ü  Graph designer toolkit for visual customization with

ü  Hundreds of ready-to-use templates

ü  Efficient data binding for varied enterprise data sources

ü  Works with almost all Java architectures

 

2.1 ElegantJ Charts Features

ElegantJ Charts contains following key features:

 

Ø  Simplicity: Flexible, configurable, and aesthetically great. Customize to suit your needs and denote your data as you choose.

Ø  Enhanced Representation: Comprehensive set of properties and events to configure visual presentations, interactive actions, and data binding.

Ø  Prudent Insight: Automatically sort and resize your data and represent it in a 3-dimensional view.

Ø  Superior Graphics: Enhance charts with features like gradient effects, customizable background, title, legend, data display formats, and transparency.

Ø  Information at Hand: Add notes and tooltips wherever you need.

Ø  Ease of Use: Reuse and automatic processing easier not just for users, but also for application developers customizing our Beans by changing their properties.

Ø  N- Level Drill-Down: Provides various display formats to show formatted data on graph with n-level Drill-Down in charts for visual mining.

Ø  Charts Designer: Toolkit for customizing graphs and presentations.

Ø  Do-It-Yourself: A Charts Designer is included to help you design your charts. These graphs are saved in XML format and can be accessed anywhere.

Ø  Navigational Ease: Mouse properties have been enhanced to give you effortless understanding with MouseEvent listener support for individual view objects.

Ø  Intelligent Data Binding: Provides efficient data binding for varied enterprise data sources. It has data model driven interface to bind data from your desired data sources.

Ø  Images on the Fly: User can use graph as a server component in web applications or enterprise applications to generate graph images as required.

Ø  XML Interoperability:  XML Template support for integration and interoperability is provisioned.


 

3     ElegantJ Charts Toolkit

3.1 Chart Components

This section guides you through various chart type available in ElegantJ Charts and their usage in various situations depending on individual chart’s strength and features.

3.1.1Overview

In many scenarios, developers require their charting applications to include a variety of different chart types when displaying data. Depending on the purpose of application and type of data, developers have to select the most suitable chart type. ElegantJ Charts provides more than 50 type and subtypes of charting components to provide right visual representation of your data through charts.

 

When a developer passes a data to the chart using either the API or a supported data access, the values plotted will represent the values passed.

 

Programmers have following options to use ElegantJ Charts:

·         Integrate ElegantJ Charts programmatically in their application through comprehensive API.

·         Import chart components in their favorite Java IDE and configure or program visually or through source editor in IDE.

·         Use ElegantJ Charts Designer for visual configuration with help of hundreds of ready‑to‑use XML templates.

 

3.1.2Different Chart Types and Sub Types

The variety of Java Charts offered by ElegantJ Chart Library is one of the highlights of the product. We have charts to suit your different requirements for attractive visual representation of your data. ElegantJ Charts is bundled with more than 50 types of Java Charts, categorized in the categories as:

 

Ø  Bar Chart

o    Vertical Bar

o    Horizontal Bar

o    Stacked Vertical Bar

o    Stacked Horizontal Bar

o    Percentage Vertical Bar

o    Percentage Horizontal Bar

 

Ø  Line Chart

o    Line

o    Strip

o    Point

o    Stacked Line

o    Stacked Strip

o    Stacked Point

o    Percentage Line

o    Percentage Strip

o    Percentage Point


 

Ø  Area Chart

o    Area

o    Stacked Area

o    Percentage Area

 

Ø  Pie Chart

 

Ø  Radar Chart

o    Radar

o    Stacked Radar

 

Ø  Combined Chart

 

Ø  Histogram Chart

 

Ø  XYScatter Chart

o    XYScatter Line

o    XYScatter Point

o    Stacked XYScatter Line

o    Stacked XYScatter Point

o    Percentage XYScatter Line

o    Percentage XYScatter Point

 

Ø  Bubble chart

 

Ø  Stock Chart

o    Candle Stick Chart

o    High Low Open Close Chart

 

Ø  Doughnut Chart

 

Please refer “Section 4 - Chart Type Selection Guidelines” for more information on chart type selection.

 

3.2 ElegantJ Charts Designer

A developer has three ways to use charts in an application:

 

Ø  Write your own code

Ø  Use third party IDEs

Ø  Use ElegantJ Chart Designer IDE

 

The first two options often involve tedious work, waste of your precious time in writing lengthy source code or splurging money on a third party IDE. But ElegantJ Charts Designer can set you free from that.

 

ElegantJ Charts Designer is a platform independent, fully functional XML template designer for ElegantJ Charts. Our Charts Designer provides a state-of-art interoperability and integration options through ready to use XML templates that can also be customized to suit your presentation requirements.

 

Take a look at our unique process where even a graphic designer can come up with visually enhanced Java Charts.

 

This out and out Java tool has point-and-click graphical user interface that allows faster chart creation with utmost flexibility. The buzzword is WYSIWYG - What you see is what you get - as you can monitor the changes you are making in a real time 3-D environment.

 

Display your data in best possible way through customizable chart designer elements and easily import these templates with a single line of source code. The end result is a visually striking and stimulating data display that takes less than 5 minutes without any technical Java expertise!

 

Key Features:

ü  100% Java, platform-independent tool

ü  Real-time point-and-click WYSIWYG environment

ü  Huge collection of ready-to-use XML templates

ü  Industry standard interoperability through XML

ü  Reduces development cost

ü  Eliminates need for third party IDEs

ü  Shortens development cycle

ü  Promotes reusability

ü  Reduces technical skillset requirements

ü  Empowers end users to create their own charts

 

Please refer ElegantJ Charts Designer User Manual for more information on usage of chart designer.

3.3 Data Binding

ElegantJ Charts comes bundled with standard data access interface. Data access works with different data sources like databases, text, and XML files over JDBC, FTP, HTTP, and File Protocols. Data access component that we are providing with tool is a Java interface and can be extended to access other types of data sources through other protocols also.

 

Data Access component provides an interface to carry out database operations. It connects to the database using any type of JDBC driver to retrieve and manipulate data. Data Access component gets you the power of being able to read, write, and edit data stored in any data source, be it text, database, or XML file/stream. With Data Access component, you will be able to connect and communicate with any type of data source through protocols like FILE, JDBC, FTP or HTTP. It works in the most of the security and access constraints imposed by different architectures and enables you to access your any type of data from HTTP servers, FTP servers, LAN, Internet, and File servers.

 

Please refer “Section 6 - ElegantJ Charts Architecture” for more information on how to work with different Java Architectures and different data sources.

 

 


4        Chart Type Selection Guidelines

This section provides you guidelines to select an appropriate chart for data presentation by explaining strengths of different chart types and their subtypes.

4.1 Bar Chart

Bar chart is the most common chart type that is useful for displaying a variety of data. This type of charts is used for comparing two or more values. Possibility of comparison of data makes it easily understandable for the on lookers. What makes Bar Charts so popular? When data is represented in form of a Bar chart for comparing, the human eye finds it very easy to compare the data and quickly draw conclusions. Bar Charts deployed with ElegantJ Charts are a great visual aide and add a touch of professionalism to any Web page or document that requires display of data.

 

Bar Charts can be used for:

 

Ø  Comparing independent data sets

Ø  Money distribution by time

Ø  Production against time

 

Components and Functions:

 

Ø  Bar charts comprise an axis and a series of labeled horizontal or vertical bars that show different values for each bar.

Ø  Components of a Bar Chart can be used to display a wide variety of information.

Ø  Data is grouped together according to categories, displaying one bar for each item in that category.

Ø  A Bar Chart can compare distinct items or show single items at distinct intervals.

Ø  While comparing competitive items, placing longest bar on top and placing the rest in descending order after the longest one will make it very effective.

Ø  In Bar chart, a class or group can have a single category of data or they can be broken down further into multiple data categories for greater depth of analysis.

Ø  Each bar is color-coded according to the data series that it represents.

Ø  Sometimes a stretched graphic is used instead of a solid bar.

Ø  The numbers along side of the Bar charts are called the scale.

 

For each bar in the Bar chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 

ElegantJ Charts offers these sub-types of Bar Chart:

 

Ø  Vertical Bar

Ø  Horizontal Bar

Ø  Stacked Vertical Bar

Ø  Stacked Horizontal Bar

Ø  Percentage Vertical Bar

Ø  Percentage Horizontal Bar


 

4.2 Line Chart

A Line Chart is created by connecting a series of data points together with a line. This popular chart type is useful when you want to show data trends. Line charts are used to show how two parameters are related to each other or to display how one variable changes effected by another. The Line charts are very useful as a comparison tool as well. The Line charts components from the ElegantJ Charts Library are a preferred choice for keeping an eye on important business metrics as the patterns of a Line Chart are eye catching.

 

Line charts can be used for:

 

Ø  Determining trends or cyclical variations

Ø  Money distribution over time

Ø  Production over time

Ø  Price variation over time

Ø  Environmental changes over time

Ø  Material characteristics by temperature

Ø  Clinical response by concentration

 

Components and Functions:

 

Ø  A line connects data items in a Line Chart in the same series of other lines to form and display a trend in your data over a number of data categories.

Ø  In a Line chart, points or symbols represent data items.

Ø  A Line chart component consists of two axes, a vertical or Y-axis and a horizontal or X-axis.

Ø  The categories of data become the scale indexes along the X-axis, while an individual line represents each series of data.

Ø  Generally, the X-axis represents time and the Y-axis represents value.

Ø  Points are plotted on a Line Chart for each time interval and these points are joined by a line as a visual representation of change in data with timeline.

Ø  The X-axis does not necessarily have to represent time. It can also represent other data types.

Ø  The only requirement is that there has to be some relationship between the X and Y-axis.

Ø  By plotting multiple series of data on the same grid, it becomes very easy to compare the data sets.

Ø  Line chart components can be used to display a wide variety of data and relationships.

 

For each line in the Line chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 

Line chart is having sub type as under:

 

Ø  Line

Ø  Strip

Ø  Point

Ø  Stacked Line

Ø  Stacked Strip

Ø  Stacked Point

Ø  Percentage Line

Ø  Percentage Strip

Ø  Percentage Point

 


 

4.3 Area Chart

Area chart is a combination of the features of Line charts and Stacked Bar charts. This is a chart type where each area is given a solid color or pattern to emphasize the relationships between the pieces of charted information. It shows the relative contributions over time that each data series makes to the whole picture. An Area Java chart from ElegantJ Charts Library is the best choice to show relationships as a part of a whole over a period of time. For example, an Area chart can aptly show change in the relative amounts of the principal and interest over the time of a mortgage.

 

Area charts can be used to:

 

Ø  Display changes in cumulative value or percentage over time.

Ø  Compare groups on outcome measurements.

Ø  Display group trends.

 

Components and Functions:

 

Ø  Area Chart is a type of presentation graphic that emphasizes a change in values by filling in the portion of the chart beneath the line connecting various data points.

Ø  The components of Area Chart often look like a Line chart colored in the areas underneath each line.

Ø  Each of these area segments is stacked on top of each other, like in a Stacked Bar chart.

Ø  The aggregated size of the area at each category reflects the cumulative value of all data items in that category.

Ø  The first series will always be the top area segment.

Ø  Each data series in the Area chart component corresponds to a colored segment of the total area.

Ø  Area charts are useful when you want to show group trends in addition to comparing trends between individual series of data.

 

 

For the Area chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 

Area chart is having sub type as under:

 

Ø  Area

Ø  Stacked Area

Ø  Percentage Area

 


 

4.4 Pie Chart

A Pie chart is a circular chart divided into sectors, illustrating relative magnitudes or frequencies. In a pie Java chart, the arc length of each sector (and consequently its central angle and area), is proportional to the quantity it represents. Together, the sectors create a full disk. The Pie chart component is another commonly used chart type. Pie charts are most often used to show data as a percentage of the whole. Pie charts represent an entire data category as a pie (all other data is thrown out). Each data item in that category is shown as a pie wedge. The wedge size will be proportional to that data item's percentage of the sum of all data items in the category. Though this may sound complex, Pie charts components are actually quite intuitive.

 

Pie charts can be used for:

 

Ø  Comparing data elements against the sum of the elements

Ø  Budgets

Ø  Money distribution

 

Components and Functions:

 

Ø  A Pie Chart is a circular chart divided into sectors, illustrating relative magnitudes or frequencies.

Ø  The arc length of each sector and consequently its central angle and area in a Pie Chart, is proportional to the quantity it represents.

Ø  Each data item in that category is shown as a pie wedge or slice.

Ø  The greater the data value, the larger the pie slice or wedge.

Ø  The data sectors or wedges or slices, create a full disk when they come together.

Ø  Multiple 2D and 3D Pie charts can be drawn of varying sizes to provide another dimension to the data.

Ø  This type of chart is very useful for figures that relate to a larger sum, such as demographic data or budget information.

Ø  It is easy to get a feel of the relationship between component values when they are placed in a Pie charts component.

 

For the Pie chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.


 

4.5 Radar Chart

There is nothing defensive about a Radar Chart. This chart type is called Radar simply because it resembles radar on screen. Radar chart is useful when you want to look at several different factors, all related to one item. For example, you can use a Java based Radar chart component from ElegantJ Charts Library to compile data about a wide receiver on a professional football team.

 

Radar charts can be used for:

 

Ø  Mathematical applications

Ø  Statistical applications

 

Components and Functions:

 

Ø  A Radar chart is the presentation of group data at the perimeter of radar.

Ø  This chart type has multiple axis to plot the data.

Ø  A point close to the center on any axis indicates a low value while a point near the edge is a high value.

Ø  The incrementing numeric values are placed from the center of the radar to the perimeter for a user to determine how specific group data relates to the whole of the group data.

Ø  Radar charts components are similar to Line charts. However, the radial grid to display data items sets it apart.

Ø  In a radial grid, the scale value grid lines circle around a center point representing zero.

Ø  The grid is not entirely circular; rather it is an equilateral polygon, with each category being plotted at a point of the polygon. Thus, if there are three categories, the grid is triangular. If there are eight categories, it will be octagonal.

Ø  There must be at least three categories for a Radar chart to make sense.

Ø  The area inside of the radial grid for each series will be colored translucently to give an idea of the total size of a data series and still note the overlapped data.

Ø  While interpreting a Java Radar chart, check each axis as well as the overall shape to see how well it fits your goals.

 

For the Radar chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 

Radar chart is having sub type as under:

 

Ø  Radar

Ø  Stacked Radar


 

4.6 Combined Chart

Combined chart is a special form of Vertical Bar chart that displays information in such a way that priorities for process improvement can be established. It shows the relative importance of all the data and is used to direct efforts to the largest improvement opportunity by highlighting the "vital few" in contrast to the "many others”.

 

For the Combined chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 


 

4.7 Histogram Chart

Histogram Java chart is a specialized type of Bar chart which is also a part of ElegantJ Chart Library. The strength of a histogram is that it provides an easy-to-read picture of the location and variation in a data set.

 

Components and Functions:

 

Ø  A Histogram Chart has the charting format that displays horizontal or vertical bars.

Ø  The length of the bars is set in proportion to the values of the data items they represent.

Ø  The individual data points are grouped together in classes, to get an idea of how frequently data in each class occur in the data set.

Ø  High bars in Histogram charts indicate more points in a class and low bars indicate lesser points.

Ø  However, the weakness of this type of chart is that it can be manipulated to show different pictures. If too few or too many bars are used, the histogram can be misleading.

Ø  Histogram chart components can obscure the time differences among data sets.

 

For Histogram chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.


 

4.8 XYScatter Chart

XY Scatter chart is one of the simplest types of chart. It is a collection of plotted points that represent specific data in a pool of information. The XY Scatter Java chart, which is also a part of ElegantJ Charts Library, allows the user to consider a larger scope of data for the purpose of determining trends. For example, to plot a number of people interviewed and their various wages and education levels, one can use the educational level as the X-axis that increases as one moves on the right side, while the salary or wages can be displayed on the Y-axis.

 

Components and Functions:

 

Ø  XYScatter chart is used when you want to see if there is a relationship between two different sets of data.

Ø  XYScatter chart is essentially the plotted dots without any connecting line.

Ø  In case of a perfect relationship, the dots would form a straight line angling up and right.

Ø  However, if the daily temperature is plotted in this type of chart, you can see the trend of rising or falling of the dots as per the change in temperature.

 

For XYScatter chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 

XYScatter chart is having sub type as under:

 

Ø  XYScatter Line

Ø  XYScatter Point

Ø  Stacked XYScatter Line

Ø  Stacked XYScatter Point

Ø  Percentage XYScatter Line

Ø  Percentage XYScatter Point

 


 

4.9 Bubble Chart

A Bubble Chart has a special visual appeal as it represents data in a series of bubbles. In this type of chart, the size of a bubble is proportional to the amount of data. ElegantJ Charts provides you an opportunity to use this unusual chart type with ease. For example, you can come up with an attractive Bubble Chart of a summary report of the sales of your company’s products plotting the relationship between the total sales, the quantity sold, and the number of unique products (the product mix) that each sales representative markets.

 

Bubble charts can be used for:

 

Ø  Displaying data with three variables

Ø  Displaying financial data

 

Components and Functions:

 

Ø  Bubble Chart is a type of XY Scatter chart that is used to compare sets of three values.

Ø  In Bubble Chart, each data point has two values and the size of the bubble represents value of the third.

Ø  The third data value, called the bubble data value, is added to each data item.

Ø  In Bubble Chart component, the bubble value is used to determine the size of a bubble that will appear at the data item’s plot point.

Ø  Bubble Chart shows three dimensions of data in a flat 2D Java chart.

Ø  In addition to the points being located on a grid according to X and Y values, the size of the marker is proportional to a third set of values.

Ø  A Bubble Java Chart bean can be used for 3-D data — for example X-Y or time data items that have a quantitative element to them.

 

For the Bubble chart, the following statistics are calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 


 

4.10                Stock Chart

As the very name suggests, the Stock Java Chart is useful to display information about stock and financial data. A Stock Java chart component, which is also a part of ElegantJ Charts Library, can chart information about the high, low, opening and closing values of the stocks. The look of the stock bar depends on the use of the sub type.

 

Stock charts can be used for:

 

Ø  Displaying daily stock prices over time

Ø  Displaying statistical data with a confidence range over time

 

Components and functions:

 

Ø  Each data item in a Stock Chart is displayed with a stock bar that can represent the high and low prices for the day and the opening and closing prices for the day.

Ø  There can be infinite number of categories in this type of chart, but only one data item or a stock bar can be displayed per category in a Stock Java Chart.

Ø  This chart could also display each category to represent the prices for a separate stock, which will allow you to compare prices for separate stocks on a single day.

Ø  Data items in Stock chart must have at least two values: The high value and the low value. The open value and the close value may be optional, depending on the chart sub type.

 

For the Stock chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.

 

Stock chart is having sub type as under:

 

Ø  Candle Stick Chart

Ø  High Low Open Close Chart

 


 

4.11                Doughnut Chart

Doughnut chart is similar to a Pie chart. Doughnut chart shows how proportions of data contribute to the whole. This unusual chart type is also part of the collection in the ElegantJ Charts Library.

 

Components and functions:

 

Ø  Doughnut chart displays category groups, series groups, and values series as doughnut slices.

Ø  The size of the slice in Doughnut chart component is determined by the series value as a percentage of the total of all values.

Ø  Doughnut Java charts components are typically used to show percentages.

 

For the Doughnut chart, the following statistics can be calculated:

 

Ø  Sum: The sum value in the series.

Ø  Count: The count value in the series.

Ø  Valid Count: The valid count value in the series.

Ø  Average: The average value in the series.

Ø  Valid Average: The valid average value in the series.

Ø  Maximum: The maximum value in the series.

Ø  Minimum: The minimum value in the series.


 

5     Installation & Registration

5.1 Prerequisite

Before installing ElegantJ Charts, please ensure that your computer system and development environment are setup and working as per expectations. Person using ElegantJ Charts is expected to be able to write and execute simple JAVA applications.

 

To be able to use ElegantJ Charts, your computer systems are required to have:

 

Ø  An IDE that supports JDK 1.4.0 or higher, or

Ø  JDK 1.4.0 or higher.

5.2 Installation Procedure

On extracting EJCharts.zip, following directories will be created:

 

Ø  Directory [jars] contains Jar file(s)

Ø  Directory [docs] contains User Guide and Java API

 

5.2.1Installing on Windows 95/98

To include ElegantJ Charts in CLASSPATH, add following statement to your autoexec.bat file,

 

 Set CLASSPATH=%CLASSPATH%;C:\ELEGANTJCHARTS \jars\<CHART>.jar;

 

Restart Windows to get effect of changes made.

 

5.2.2Installing on Windows NT/2000/XP

Go to Control Panel and select System. You will find environment variables under Environment tab in Windows NT systems and under Advanced tab in Windows 2000 systems.

 

Find CLASSPATH environment variable or create it.

 

To include ElegantJ Charts in the CLASSPATH, specify or add following value for variable –

 

[EXISTING-CLASSES]; C:\ELEGANTJCHARTS\jars\<CHART>.jar

5.2.3Installing on Unix/Linux

Before you begin using ElegantJ Charts, you must manually configure CLASSPATH environment variable. CLASSPATH must point to the location of classes and installation directory.

 

For example, to set CLASSPATH for ElegantJ Charts,

 

setenv CLASSPATH .:/usr/local/ELEGANTJCHARTS/jars/

<CHART>.jar:

 

If you are using Bourne Shell, commands are,

 

CLASSPATH= $CLASSPATH:.:/usr/local/ELEGANTJCHARTS/jars/

<CHART>.jar:export CLASSPATH

5.3 Using with Different IDEs

ElegantJ Charts Library file(s) is located in the \jars\subdirectory.

 

Each IDE has its unique method for importing a Bean. This set of documentation contains guidelines for importing ElegantJ Charts to different IDEs. However, consult documentation for respective product to know how to import a Java Bean in an IDE.

 

ElegantJ Charts works well with any charts compliant Integrated Development Environment (IDE).

5.3.1Adding ElegantJ Charts to Borland JBuilder

Follow the steps given below to create a new category and install the Bean into Borland JBuilder.

 

Create a New Category

Ø  Click menu Tools > Configure Palette. It opens Palette Properties dialog box.

Ø  Click on Add button. It opens Add Page dialog box.

Ø  Specify name (e.g., ElegantJ) and click on OK button.

Ø  New Category will be created.


 

Create New Library and Install/Import Bean

Ø  On Palette Properties dialog box, click on Add components tab.

Ø  Select newly created page (e.g., ElegantJ).

 

 

Ø  Click on Select Library button. It opens Select a Different Library dialog box.

 

 

Ø  Click on New button. It opens New Library Wizard dialog box.

 

 

Ø  Specify name for library and click on Add button. It opens Select One or More Directories dialog box.

 

 

Ø  Select directory where jar files are located, or select jar file to be imported. Click on OK button. Dialog box will be closed and New Library Wizard dialog box appears in front.

Ø  Click on OK button on New Library Wizard dialog box. It opens Select a Different Library dialog box.

Ø  Confirm that newly created library is selected. Click on OK button. It opens Add Components under Palette Properties.

Ø  Click on Add from Selected Libraries button. It opens Results dialog box. Click on OK button.

Ø  Results dialog box disappears. Click on OK button on Palette Properties dialog box.

Ø  Charts are ready to be used.

 

5.3.2Adding ElegantJ Charts to Sun Java Studio Creator IDE

Follow the steps given below to create a new category and install Bean into Sun Java Studio Creator 2.

Ø  Click menu Tools>Library Manager. It opens Library Manager dialog box.

 

 

Create New Library

Click on New Library button. It opens New Library dialog box. Write a Library Name and select Component Libraries from Library Type combo box.  Click OK.

 

 

Load Component As a Jar File

Click on Add Jar/Folder button. It opens File dialog box. Locate jar file (i.e. /ElegantJCharts/jars/bargraph.jar), and Click on OK button. The selected jar file appears in Library Classpath List.

 

 

 

Ø  Click on OK Button.

 

Create a new Project. (e.g., ElegantJCharts)

Ø  Right click on Created Project (e.g., ElegantJCharts).

Ø  Select property.

Ø  Project Properties dialog box will open.

 

 

Ø  Select Libraries from Categories tree on left pane.

Ø  On right pane, click on Add Library.

Ø  It opens Add Library dialog box.

 

 

 

Ø  Select a Library from list, which is created from Library Manager.

Ø  Click on Add Library button.

Ø  Click OK button on Project Properties dialog box.

 

5.3.3Adding ElegantJ Charts to NetBeans IDE

Follow the steps given below to create a new category and install Bean into NetBeans IDE.

Ø  Click menu Tools > Palette Manager. It opens Palette Manager dialog box.

 

 

Create New Category

Ø  Click on New Category button.

Ø  It opens New Palette Category dialog box. Write a New category Name and Click on OK button to add a category name into Palette Manager.

 

 


 

Ø  Click on Add From Jar button. It opens Install Component to Palette dialog box.

 

 

Ø  Choose a component from Available Components list.

Ø  Click on Next button.

 

 

Ø  Locate/Choose a jar containing components (for example /ElegantJCharts/jars/bargraph.jar).

Ø  Click on Next button.

 

 

Ø  Select the Palette Category to add the components.

Ø  Click on Finish button.

 

 

Ø  The component is added into the selected Palette Category.

Ø  Click on Close button.


 

5.3.4Adding ElegantJ Charts into Eclipse Editor

Follow the steps given below to create a new category and install Bean into Eclipse Editor.

 

Create New Project (i.e. ElegantJ Charts)

Ø  Right click on Created Project (right click on ElegantJ Charts). It opens Properties dialog box for Project (i.e. ElegantJ Charts)

 

 

 

Ø  Select Java Build Path from Left pane tree.

Ø  On right pane, click on Libraries tab and click on Add External JARs button.

Ø  It opens File dialog box, locate a jar file.

Ø  Click on OK button on File dialog box.

 

Ø  The located jar file is displayed into the list.

Ø  Click on OK button on Properties dialog box.

 

5.3.5Adding ElegantJ Charts into Servoy Developer

Follow the steps given below to install bean into Servoy Developer.

 

Ø  Copy all the chart beans jar files from [jar] directory created on extraction of downloaded zip file.

Ø  Locate and paste all the chart bean jar files in the [Beans] directory in the installed Servoy Developer IDE directory.

Ø  Now open the Servoy Developer. Go to File >> New Solution. Enter the solution name ‘ElegantJCharts’ and click on OK.

 

 

Ø  New Form screen opens. Select a server from Using Server. Select a table from Using existing table list or create new table. Click on OK.

 

 

Ø  Select fields and click on Ok.

 

 

 

Ø  Now Click on  Place Bean button on toolbar. Select a particular chart bean from the list and click on Ok.

 

 

Ø  You are ready to use ElegantJ Charts Library with Servoy Developer IDE.

 

 

5.4 Getting and Using the License Key

5.4.1How to Purchase

You can purchase a license from our Web site http://www.elegantjcharts.com. You can also contact our sales team sales@elegantJcharts.com.

 

On purchasing a license, you will receive a mail having your license key.

 

5.4.2Configuring License Key

License key can be applied to ElegantJ Charts using any of the following ways:

 

Ø  Configuring with IDEs.

Ø  Configuring directly with source code.

 

5.4.2.1            Configuring with Graphical User Interface of IDE

While designing an application or an applet graphically in an Integrated Development Environment, you will find a property named License Key along with other properties of the Bean. Specify key (serial number) in License Key Property.

 

 

 

 

Note:

Instead of typing the license key, we suggest you to copy the license key from mail and paste it at required place. Make sure that the selection does not have any leading or trailing spaces.

 

 

 

 

5.4.2.2            Configuring Directly within Source Code

When you use the Bean within code, you need to set the key by providing value in setLicenseKey method.

 

Note:

Instead of typing the license key, we suggest you to copy the license key from mail and paste it at required place.  Make sure that the selection does not have leading or trailing spaces.

 

ChartClassName object = new ChartClassName();
object.setLicenseKey("LICENSE_KEY");
 

Example

BarGraph graph = new BarGraph ();
graph.setLicenseKey("LICENSE_KEY");


 

6     ElegantJ Charts Architecture

ElegantJ Charts is a complete component model. It supports the standard component architecture features of properties, events, methods, and persistence. In addition, ElegantJ Charts provides support for introspection (to allow automatic analysis of a chart component) and customization (to make it easy to configure a chart component).

 

ElegantJ Charts Architecture

 

The diagram above explains the architecture of ElegantJ Charts:

 

Ø  Data interaction with various data sources (Databases, XML, CSV) over HTTP, JDBC, file stream, etc.

Ø  Charts can be presented in desktop Java applications, applets, and server components (JSP, Servlet, EJB).


 

6.1 Working with Different Java Architectures

6.1.1Java Enterprise Edition

To incorporate ElegantJ Charts in Java Enterprise Edition environment:

 

Ø  Add ElegantJ Charts library in enterprise application classpath.

Ø  Create chart instance in a session Bean.

Ø  Initialize chart object by configuring chart properties or importing EJXML template.

Ø  Bind chart data.

Ø  Generate and push chart image to the client.

 

Code Snippet:

To create an instance of Bar Graph

 

com.elegantj.graphx.bar.BarGraph graph = new

com.elegantj.graphx.bar.BarGraph();

 

To create an instance of SQL Data Access

 

com.elegantj.data.dataprovider.sql.SqlDataProvider sqlDataProvider = new com.elegantj.data.dataprovider.sql SqlDataProvider();

 

To configure database connection properties

sqlDataProvider.setConnectionProperties(new ConnectionProperties("jdbc:odbc:dsnName", "sun.jdbc.odbc.JdbcOdbcDriver", null, null));

 

To set a database query

 

sqlDataProvider.setSqlString("Write Your Query Here");

 

To retrieve the data

 

sqlDataProvider.retrieve();

 

To bind Data Access to Graph

 

graph.setGraphDataProvider(sqlDataProvider);

 

To load Graph Properties from EJXML

 

graph.loadFromXML("Name of EJXml file");

 

To push Graph as a JPEG image to the specified Output Stream

 

graph.saveAsImageJPEG(OutputStream);

6.1.2JSP

To incorporate ElegantJ Charts in JSP environment:

 

Ø  Add ElegantJ Charts library in web application classpath.

Ø  Create chart instance in a JSP.

Ø  Initialize chart object by configuring chart properties or importing EJXML template.

Ø  Bind chart data.

Ø  Generate and push chart image to the client.

 

Code Snippet:

To create an instance of Bar Graph

 

com.elegantj.graphx.bar.BarGraph graph = new

com.elegantj.graphx.bar.BarGraph();

 

To create an instance of SQL Data Access

 

com.elegantj.data.dataprovider.sql.SqlDataProvider sqlDataProvider = new com.elegantj.data.dataprovider.sql SqlDataProvider();

 

To configure database connection properties

 

sqlDataProvider.setConnectionProperties(new ConnectionProperties("jdbc:odbc:dsnName", "sun.jdbc.odbc.JdbcOdbcDriver", null, null));

 

To set a database query

 

sqlDataProvider.setSqlString("Write Your Query Here");

 

To retrieve the data

 

sqlDataProvider.retrieve();

 

To bind Data Access to Graph

 

graph.setGraphDataProvider(sqlDataProvider);

 

To load Graph Properties from EJXML

 

graph.loadFromXML("Name of EJXml file");

 

To push Graph as a JPEG image to the specified Output Stream

 

graph.saveAsImageJPEG(OutputStream);

6.1.3        Servlet

To incorporate ElegantJ Charts in Servlet environment:

 

Ø  Add ElegantJ Charts library in web application classpath.

Ø  Create chart instance in a Servlet.

Ø  Initialize chart object by configuring chart properties or importing EJXML template.

Ø  Bind chart data.

Ø  Generate and push chart image to the client.


 

Code Snippet:

To create an instance of Bar Graph

 

com.elegantj.graphx.bar.BarGraph graph = new

com.elegantj.graphx.bar.BarGraph();

 

To create an instance of SQL Data Access

 

com.elegantj.data.dataprovider.sql.SqlDataProvider sqlDataProvider = new com.elegantj.data.dataprovider.sql SqlDataProvider();

 

To configure database connection properties

 

sqlDataProvider.setConnectionProperties(new ConnectionProperties("jdbc:odbc:dsnName", "sun.jdbc.odbc.JdbcOdbcDriver", null, null));

 

To set a database query

 

sqlDataProvider.setSqlString("Write Your Query Here");

 

To retrieve the data

 

sqlDataProvider.retrieve();

 

To bind Data Access to Graph

 

graph.setGraphDataProvider(sqlDataProvider);

 

To load Graph Properties from EJXML

 

graph.loadFromXML("Name of EJXml file");

 

To push Graph as a JPEG image to the specified Output Stream

 

graph.saveAsImageJPEG(OutputStream);

 

6.1.4        Java Application or Applet (Java Standard Edition)

To incorporate ElegantJ Charts in Java Application or Applet (Java Standard Edition):

 

Ø  Add ElegantJ Charts library in classpath.

Ø  Create chart instance.

Ø  Initialize chart object by configuring chart properties or importing EJXML template.

Ø  Bind chart data.

Ø  Set chart object in your presentation container as per your layout.

 

Code Snippet:

To create an instance of Bar Graph

 

com.elegantj.graphx.bar.BarGraph graph = new

com.elegantj.graphx.bar.BarGraph();

 

To create an instance of SQL Data Access

 

com.elegantj.data.dataprovider.sql.SqlDataProvider sqlDataProvider = new com.elegantj.data.dataprovider.sql SqlDataProvider();

 

To configure database connection properties

 

sqlDataProvider.setConnectionProperties(new ConnectionProperties("jdbc:odbc:dsnName", "sun.jdbc.odbc.JdbcOdbcDriver", null, null));

 

To set a database query

 

sqlDataProvider.setSqlString("Write Your Query Here");

 

To retrieve the data

 

sqlDataProvider.retrieve();

 

To bind Data Access to Graph

 

graph.setGraphDataProvider(sqlDataProvider);

 

To load Graph Properties from EJXML

 

graph.loadFromXML("Name of EJXml file");

 

To push Graph as a JPEG image to the specified Output Stream

 

graph.saveAsImageJPEG(OutputStream);


 

6.2 Working with Different Data Sources

Data Access component provides an interface to carry out database operations. It connects to the database using any type of JDBC driver to retrieve and manipulate data. Data Access component gets you the power of being able to read, write, and edit data stored in any data source, be it text, database, or XML file/stream. With Data Access component, you will be able to connect and communicate with any type of data source through protocols like FILE, JDBC, FTP or HTTP. It works in the most of the security and access constraints imposed by different architectures and enables you to access your any type of data from HTTP servers, FTP servers, LAN, Internet, and File servers.

 

6.2.1Text Data Access

Ø  Can parse data with fixed column size or with delimiter. Also parses data by user defined text qualifier.

Ø  Provides facility to configure fetch size to fetch records.

Ø  Configurable character delimiter for rows and columns.

Ø  Option to append or replace fetched data in existing client buffer.

Ø  Provides an option to consider the first line as column header.

Ø  Column names can be retrieved and stored in data access component.

 

Code Snippet:

To create an instance of Text Data Access

com.elegantj.data.dataprovider.text.TextDataProvider textDataProvider = new com.elegantj.data.dataprovider.text.TextDataProvider();

 

Configuring data source

   

Using Text Data Access you can connect to a Text file through file path or URL.

 

To set the file path

 

textDataProvider.setURLConnectionEnabled(false); // Disable URL connection

textDataProvider.setFile("c://myfolder/myfile.txt");

 

To set the file URL

 

textDataProvider.setURLConnectionEnabled(true); // Enable URL connection

textDataProvider.setURL("http://localhost/myfolder/myfile.txt");

 

To retrieve data

 

textDataProvider.retrieve(); // Opens a connection and retrieves the data

 

To retrieve data explicitly with specified Input Stream 

 

try {

   java.io.FileInputStream in = new java.io.FileInputStream("c://myfolder/myfile.txt");

   if(!textDataProvider.retrieveData(in))

      System.out.println("Error while retrieving data");

   in.close();

} catch(java.io.IOException e) {

   System.out.println("Error while opening the file");

}

 

To retrieve the next batch of data, if the fetch size is specified and if has more data

 

if(!textDataProvider.nextData())

    System.out.println("Error while retrieving more data");

 

Binding of Text Data Access with Chart.

 

chart.setGraphDataProvider(textDataProvider);

 

 

6.2.2SQL Data Access

Ø  Supports all the four types of JDBC Connections

Ø  Configurable connection attributes like database URL, driver, username, and password

Ø  Allows configuring SQL query string. Facilitates users to specify parameters in SQL query in the form of retrieval arguments Value of parameters can be set at run time

Ø  Allows including columns as criteria. Specify options like unique columns, unique and updateable columns, and unique and modified columns

Ø  Option to restrict data updating to specific columns as well as tables

Ø  Configurable fetch size to fetch records

Ø  Option to append or replace fetched data in existing client buffer.

 

Code Snippet:

To create an instance of SQL Database Access

 

com.elegantj.data.dataprovider.sql.SqlDataProvider sqlDataProvider =

new com.elegantj.data.dataprovider.sql.SqlDataProvider(); 

 

To configure database connection

 

 Using ElegantJ Database Access you can create connection to various database through a Connection object or a ConnectionProperties object.

 

To set the Connection

 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

java.sql.Connection connection =

DriverManager.getConnection("jdbc:odbc:dsn", "username", "password");

sqlDataProvider.setConnection(connection);

 

To set the ConnectionProperties

 

com.elegantj.data.editors.ConnectionProperties connectionProperties =

new com.elegantj.data.editors.ConnectionProperties("jdbc:odbc:dsn",

"sun.jdbc.odbc.JdbcOdbcDriver", "username", "password");

sqlDataProvider.setConnectionProperties(connectionProperties);

 

To configure database query

  

Using Database Access executes database query. A query can include the retrieval arguments. An arguments are in the form of - :name.type

 

To set the database query

 

sqlDataProvider.setSqlString("select * from employee");

 

To retrieve the data

 

sqlDataProvider.retrieve(); // Opens a connection and executes the query to retrieve the data

 

To retrieve the data with predefined retrieval arguments

 

String[] arguments = new String[] { "argument1", "argument2" };

sqlDataProvider.retrieve(arguments); // Opens a connection and executes the query to retrieve the data

 

To retrieve the data without “retrieve” method call

 

if(!sqlDataProvider.open()) // Opens the connection explicitly

    System.out.println("Error while opening connection");

else if(!sqlDataProvider.executeQuery("select * from employee")) // Executes the query explicitly

    System.out.println("Error while executing query");

 

To retrieve the next batch of data, if the fetch size is specified and if it has more data

 

if(!sqlDataProvider.nextData())

    System.out.println("Error while retrieving more data");

 

To bind SQL Data with Chart.

 

chart.setGraphDataProvider(sqlDataProvider);

 

 

6.2.3Data Access Through HTTP

Ø  Makes use of common methods like GET, POST, and HEAD methods for data exchange

Ø  Sends file as well as string buffer to HTTP server as an entity

Ø  Can parse data with fixed column size or with delimiter

Ø  Configurable fetch size to fetch records

Ø  Option to append or replace fetched data in existing client buffer

Ø  Option to consider the first line as column header

Ø  You can retrieve and store column names in data Access Component.

 

Code Snippet:

To create an instance of Text Data Access via HTTP.

 

com.elegantj.data.dataprovider.http.HTTPTextDataProvider

httpTextDataProvider = new com.elegantj.data.dataprovider.http.HTTPTextDataProvider();

 

To configure data source

  

Using Text via HTTP you can connect to a Text Data through HTTP URL. It also allows to configure the HTTP request.

 

To set the URL

 

httpTextDataProvider.setURL("http://localhost:8080/myapp/data.jsp?id=22"); 

 

To set HTTP request method

 

httpTextDataProvider.setMethod(com.elegantj.net.http.HTTPClient.HTTP_GET_METHOD);

  

To clear HTTP request headers

 

httpTextDataProvider.clearHTTPRequestHeaders();

  

To set general header property for the HTTP request header

 

httpTextDataProvider.setHTTPRequestGeneralHeaderProperty("Date", "12/12/2002");

  

To set request header property for the HTTP request header

 

httpTextDataProvider.setHTTPRequestHeaderProperty("From", "xyz@elegantjbeans.com"); 

 

To set entity header property for the HTTP entity header

 

httpTextDataProvider.setHTTPRequestEntityHeaderProperty("Content-Type", "text/plain"); 

 

To set specified string buffer as the entity body for the HTTP POST request

 

httpTextDataProvider.setStringBufferAsEntityBody("This is the Sample Data to be Posted"); 

 

To set content of the specified file as entity body for the HTTP POST request

 

httpTextDataProvider.setFileAsEntityBody(new java.io.File("c://myfolder/myrequestdata.txt"));

  

To retrieve data

 

httpTextDataProvider.retrieve(); // Opens the connection and retrieve the data

 

To retrieve data explicitly with specified Input Stream

 

try {

   httpTextDataProvider.openConnection();

   httpTextDataProvider.sendRequestToServer();

   httpTextDataProvider.getResponseHeaderFromServer();

   java.io.InputStream in = httpTextDataProvider.getInputStream();

   if(!httpTextDataProvider.retrieveData(in))

      System.out.println("Error while retrieving data");

   in.close();

} catch(java.io.IOException e) {

   System.out.println("Error while opening the connection");

}  

 

To retrieve the next data, if the fetch size is specified and if has more data

 

if(!httpTextDataProvider.nextData())

    System.out.println("Error while retrieving more data");  

 

To bind HTTP Data Access with Chart

 

chart.setGraphDataProvider(httpTextDataProvider);

 

 

6.2.4Data Access Through FTP

Ø  Connects to any FTP server

Ø  Can parse data with fixed column size or with delimiter

Ø  Configurable fetch size to fetch records

Ø  Option to append or replace fetched data in existing client buffer

Ø  Configurable character delimiter for rows and columns

Ø  Option to configure first line as column header

Ø  Column names can be retrieved and stored in Data Access Component.

 

Code Snippet:

To create an instance of Text Data Access via FTP

 

com.elegantj.data.dataprovider.ftp.FTPTextDataProvider

ftpTextDataProvider = new com.elegantj.data.dataprovider.ftp.FTPTextDataProvider();

 

To configure data source

   

Using ElegantJ FTP Text Data Access you can connect to a Text file through filepath.  It also allows to configure the FTP attributes.

 

To set file path

 

ftpTextDataProvider.setFile("/myfolder/myfile.txt");

 

To set host name

 

ftpTextDataProvider.setHostName("elegantj");  

 

To set port number

 

ftpTextDataProvider.setPort(21);  

 

To set user name   

 

ftpTextDataProvider.setUserName("username");  

 

To set password

 

ftpTextDataProvider.setPassword("password");

 

To retrieve the data

 

ftpTextDataProvider.retrieve(); // Opens the connection and retrieve the data

 

To retrieve data explicitly with specified remote path          

 

ftpTextDataProvider.retrieveDataFromServer("/myfolder/myfile.txt"); 

 

To retrieve next data, if the fetch size is specified and if it has more data

 

if(!ftpTextDataProvider.nextData())

System.out.println("Error while retrieving more data");

 

To bind FTP Data Access with Chart

 

chart.setGraphDataProvider(ftpTextDataProvider);

 

 

6.2.5XML Data Access

Ø  Can parse an XML file by user-defined tags (identifiers of root, row, and column)

Ø  Provides an option to consider the first line as column header

Ø  Column names can be retrieved and stored in data access component.

 

Code Snippet:

To create an instance of XML Data Access

 

com.elegantj.data.dataprovider.xml.XMLDataProvider xmlDataProvider = new com.elegantj.data.dataprovider.xml.XMLDataProvider();

 

To configure data source

    

Using XML Data Access you can connect to a Text file through file path or URL.

 

To set the file path

 

xmlDataProvider.setURLConnectionEnabled(false); // Disable URL connection

xmlDataProvider.setFile("c://myfolder/myfile.xml");

 

To set the file URL

 

xmlDataProvider.setURLConnectionEnabled(true); // Enable the URL connection

xmlDataProvider.setURL("http://localhost/myfolder/myfile.xml");

 

To retrieve the data 

 

xmlDataProvider.retrieve(); // Opens a connection and retrieves data

 

To retrieve data explicitly with specified Input Stream

 

try {

   java.io.FileInputStream in = new java.io.FileInputStream("c://myfolder/myfile.xml");

   if(!xmlDataProvider.retrieveData(in))

      System.out.println("Error while retrieving data");

   in.close();

} catch(java.io.IOException e) {

   System.out.println("Error while opening the file");

}

 

To bind XML Data Access with Chart

 

chart.setGraphDataProvider(xmlDataProvider);


 

7     Interoperability and Integration with XML

7.1 Why XML?

XML data binding for Java is a powerful alternative to XML document models for applications concerned mainly with the data content of documents.

 

Some more advantages of using XML are:

Ø  XML supports multilingual documents and Unicode, which is important for internationalization of applications.

Ø  XML is W3C standard and is endorsed by software industry market leaders.

Ø  Context information is easy to evaluate with XML as compared to HTML or plain text as the tags, attributes, and element structure provide context information that can be used to interpret the meaning of content that opens up new possibilities for highly efficient search engines, intelligent data mining agents and many other mediums.

Ø  XML documents are self-descriptive.

Ø  Any XML tag can possess an unlimited number of attributes such as author or version.

Ø  The XML tags can be created as needed.

Ø  Data in XML documents can be stored without needing schemas set up by a Database Administrator as they contain meta-data in the form of tags and attributes.

Ø  XML is especially suitable for working with unstructured data.

Ø  Facilitates the comparison and aggregation of data because of its tree structure.

Ø  XML documents can embed any possible data type - from multimedia data (image, sound, video) to active components (Java applets, ActiveX).

Ø  Mapping existing data structures like file systems or relational databases to XML is simple.

 

7.2 What is EJXML?

EJXML is an XML document type capable of defining every aspect of ElegantJ Charts visual properties and data to populate charts. EJXML provides powerful interoperability and integration features to ensure quick deployment of charts to your applications. Once EJXML files are generated to suit the best visual appearance of your charts, setting this EJXML as property for your charts through your code or IDE is just a click away. Also, one can keep on changing EJXML file to reflect changes in visual properties in real time, with this architecture.

 


 

7.3 Introduction to the EJXML Format

The top-level element in EJXML document is <Graph>.

 

The main subelements of <Graph> are:

ü  <CommonProperties>

ü  <BackgroundProperties>

ü  <GraphAreaProperties>

ü  <MouseOverProperties>

ü  <TooltipProperties>

ü  <TitleProperties>

ü  <XAxisProperties>

ü  <YAxisProperties>

ü  <ZAxisProperties>

ü  <’Graphname’Properties>

ü  <GraphData>

 

 

Other important universal attributes include Top, Left, Anchor, Height, and Width, which control the size and position of the element, and Visible, which hides or shows the element. These attributes are not in <GraphData>.

 

The <Graph> element represents a chart. A chart's type is specified by its GraphType attributes. There are many attributes and subelements for <Graph>.

 

Example:

<?xml version="1.0" standalone="yes"?>

 

<GraphProperties>

    <Graph graphType="9"></Graph>

    <CommonProperties graph3DEffect="true" graph3DHorizontalOffset="10" graph3DVerticalOffset="7" DrillDownEnable="true" defaultTooltipText="" explainNotesStrLen="8" computationType="1" YAxisDivisionValue="1" YAxisMaxLabelValue="1.7976931348623157E308" YAxisMinLabelValue="1.7976931348623157E308" YAxisUnitLabel="" font="[family=Dialog,name=Dialog,style=plain,size=12]" foreground="#000000" graphSize="[width=600,height=350]"></CommonProperties>

    <BackgroundProperties background="#F5FAFF" gradientAngle="0" gradientColor="#07794F" gradientExtent="400" gradientMode="3" gradientVisible="false" graphBorderColor="#640AC8" graphBorderStyle="0" graphBorderWidth="3"></BackgroundProperties>

    <GraphAreaProperties graphAreaBackground="#FFFFFF" graphAreaBackgroundVisible="false" graphAreaGradientAngle="30" graphAreaGradientColor="#1419FF" graphAreaGradientExtent="200" graphAreaGradientMode="0" graphAreaGradientVisible="false"></GraphAreaProperties>

    <MouseOverProperties mouseOverEffectEnable="false" mouseOverStaticTextEnable="false" mouseOverText="item  _%SERIES_INDEX" mouseOverTextAlignment="1" mouseOverTextBackground="#F7B8FE" mouseOverTextBackgroundVisible="true" mouseOverTextBorderColor="#640AC8" mouseOverTextBorderStyle="-1" mouseOverTextBorderWidth="1" mouseOverTextEnable="false" mouseOverTextFont="[family=Dialog,name=Dialog,style=plain,size=12]" mouseOverTextForeground="#AE04C1" mouseOverTextMaxLen="12" mouseOverTextShadowColor="#640AC8" mouseOverTextShadowStyle="11" mouseOverTextShadowWidth="4"></MouseOverProperties>

    <TooltipProperties defaultTooltipText="" tooltipBackground="#FAFA96" tooltipBorderColor="java.awt.Color[r=100,g=10,b=200]" tooltipBorderStyle="2" tooltipBorderWidth="1" tooltipFont="[family=Dialog,name=Dialog,style=plain,size=12]" tooltipForeground="#0A960A" tooltipShowInterval="200" tooltipVisible="true" tooltipVisibleInterval="1500"></TooltipProperties>

    <TitleProperties graphTitle="Graph Title" graphTitleAlign="9" graphTitleBackgroundVisible="true" graphTitleBackground="java.awt.Color[r=240,g=250,b=200]" graphTitleBorderColor="#640AC8" graphTitleBorderStyle="1" graphTitleBorderWidth="2" graphTitleFont="[family=Dialog,name=Dialog,style=plain,size=12]" graphTitleForeground="#7D0AFA" graphTitleMaxLine="1" graphTitleShadowColor="#0A0A14" graphTitleShadowStyle="13" graphTitleShadowWidth="5" graphTitleVisible="true"></TitleProperties>

    <XAxisProperties>

        <NameProperties axisName="" axisNameAlign="1" axisNameBackground="#BEBEF0" axisNameBackgroundVisible="true" axisNameBorderColor="#640AC8" axisNameBorderStyle="2" axisNameBorderWidth="2" axisNameFont="[family=Dialog,name=Dialog,style=plain,size=12]" axisNameForeground="#004080" axisNameMaxLine="1" axisNameShadowColor="#640AC8" axisNameShadowStyle="11" axisNameShadowWidth="4" axisNameVisible="true"></NameProperties>

        <LabelProperties axisLabelAlign="16" axisLabelAlignAngle="-20" axisLabelBackground="#C8C8C8" axisLabelBackgroundVisible="false" axisLabelDrillDownEnable="false" axisLabelFont="[family=Dialog,name=Dialog,style=plain,size=12]" axisLabelForeground="#000000" axisLabelFormat="" axisLabelGap="5" axisLabelTooltipText="_%SERIES_NAME" axisLabelVisible="true"></LabelProperties>

        <LineProperties axisLineColor="#000000" axisLineWidth="2" axisTickLineColor="#0000F0" axisTickLineHeight="10" axisTickLinePosition="3" axisTickLineVisible="true" axisTickLineWidth="1"></LineProperties>

        <GridProperties axisGridLineColor="#C814FA" axisGridLineStyle="1" axisGridLineVisible="true" axisGridLineWidth="1" axisGridStripColor="#C8C8C8" axisGridStripVisible="false"></GridProperties>

    </XAxisProperties>

    <YAxisProperties>

        <NameProperties axisName="" axisNameAlign="1" axisNameBackground="#F0FAC8" axisNameBackgroundVisible="true" axisNameBorderColor="#C89632" axisNameBorderStyle="1" axisNameBorderWidth="2" axisNameFont="[family=Dialog,name=Dialog,style=plain,size=12]" axisNameForeground="#0A5032" axisNameMaxLine="1" axisNameShadowColor="#0A0A14" axisNameShadowStyle="11" axisNameShadowWidth="4" axisNameVisible="true"></NameProperties>

        <LabelProperties axisLabelAlign="16" axisLabelAlignAngle="0" axisLabelBackground="#C8C8C8" axisLabelBackgroundVisible="false" axisLabelDrillDownEnable="false" axisLabelFont="[family=Dialog,name=Dialog,style=plain,size=12]" axisLabelForeground="#37780A" axisLabelFormat="" axisLabelGap="10" axisLabelTooltipText="value _%DATA_VALUE" axisLabelVisible="true"></LabelProperties>

        <LineProperties axisLineColor="#000000" axisLineWidth="2" axisTickLineColor="#006496" axisTickLineHeight="10" axisTickLinePosition="3" axisTickLineVisible="true" axisTickLineWidth="1"></LineProperties>

        <GridProperties axisGridLineColor="#14FA14" axisGridLineStyle="1" axisGridLineVisible="true" axisGridLineWidth="1" axisGridStripColor="#C8C8C8" axisGridStripVisible="false"></GridProperties>

    </YAxisProperties>

    <ZAxisProperties>

        <LegendProperties ZAxisAlignment="8" ZAxisBackground="#FFFFFF" ZAxisBackgroundVisible="true" ZAxisBorderColor="#967884" ZAxisBorderStyle="4" ZAxisBorderWidth="2" ZAxisLabelShowOrder="0" ZAxisPosition="3" ZAxisShadowColor="#0000FF" ZAxisShadowStyle="11" ZAxisShadowWidth="2" ZAxisVisible="true"></LegendProperties>

        <NameProperties axisName="" axisNameAlign="1" axisNameBackground="#C8D2F0" axisNameBackgroundVisible="true" axisNameBorderColor="#640AC8" axisNameBorderStyle="0" axisNameBorderWidth="2" axisNameFont="[family=Dialog,name=Dialog,style=plain,size=12]" axisNameForeground="#004080" axisNameMaxLine="3" axisNameShadowColor="#640AC8" axisNameShadowStyle="11" axisNameShadowWidth="4" axisNameVisible="true"></NameProperties>

        <LabelProperties axisLabelAlign="16" axisLabelAlignAngle="0" axisLabelBackground="#FFFFFF" axisLabelBackgroundVisible="false" axisLabelDrillDownEnable="false" axisLabelFont="[family=Dialog,name=Dialog,style=plain,size=12]" axisLabelForeground="#064206" axisLabelFormat="" axisLabelGap="10" axisLabelTooltipText="_%ITEM_NAME" axisLabelVisible="true"></LabelProperties>

    </ZAxisProperties>

    <BarProperties>

        <Common barBorder="com.elegantj.editors.AWTBorder@d1e7c2" barBorderVisible="true" barGapInPercent="-1" barTransperancyInPercent="0" barWidth="8" gradientAngle="200" gradientExtent="50" gradientMode="0" gradientVisible="false" tooltipText=" value  _%DATA_VALUE "></Common>

        <RowInfo color="#BF3FFF" gradientColor="#852CB2"></RowInfo>

        <RowInfo color="#BF007F" gradientColor="#850058"></RowInfo>

        <RowInfo color="#FFFF00" gradientColor="#B2B200"></RowInfo>

    </BarProperties>

</GraphData>

</GraphProperties>

 


 

7.4 Introduction to EJXML Data Format

In EJXML, chart data is represented with a <GraphData> element. The <GraphData> element is used to store data. It will be associated with the <Graph> element of the same name.

 

Example:

   <GraphData>

        <row>

            <column>4month</column>

            <column>type</column>

            <column>count</column>

        </row>

        <row>

            <column>Jan</column>

            <column>Legand_1</column>

            <column>150</column>

        </row>

        <row>

            <column>Jan</column>

            <column>Legand_2</column>

            <column>290</column>

        </row>

        <row>

            <column>Jan</column>

            <column>Legand_3</column>

            <column>160</column>

        </row>

        <row>

            <column>Feb</column>

            <column>Legand_1</column>

            <column>90.6566</column>

        </row>

        <row>

            <column>Feb</column>

            <column>Legand_2</column>

            <column>140.45454</column>

        </row>

        <row>

            <column>Feb</column>

            <column>Legand_3</column>

            <column>221.3</column>

        </row>

        <row>

            <column>Mar</column>

            <column>Legand_1</column>

            <column>290</column>

        </row>

        <row>

            <column>Mar</column>

            <column>Legand_2</column>

            <column>90</column>

        </row>

        <row>

            <column>Mar</column>

            <column>Legand_3</column>

            <column>150</column>

        </row>

        <row>

            <column>Apr</column>

            <column>Legand_1</column>

            <column>55</column>

        </row>

        <row>

            <column>Apr</column>

            <column>Legand_2</column>

            <column>167</column>

        </row>

        <row>

            <column>Apr</column>

            <column>Legand_3</column>

            <column>330</column>

        </row>

    </GraphData>

 

Inside of the GraphData, there are two types of elements. The first is a Row element. The other type of element in GraphData is the Column element. Column is subelement of Row element.


 

8     ElegantJ Charts Designer

A developer has three ways to use charts in an application:

 

Ø  Write your own code

Ø  Use third party IDEs

Ø  Use ElegantJ Chart Designer IDE

 

The first two options often involve tedious work, waste of your precious time in writing lengthy source code or splurging money on a third party IDE. But ElegantJ Charts Designer can set you free from that.

 

ElegantJ Charts Designer is a platform independent, fully functional XML template designer for ElegantJ Charts. Our Charts Designer provides a state-of-art interoperability and integration options through ready to use XML templates that can also be customized to suit your presentation requirements.

 

Please refer ElegantJ Charts Designer User Manual for more information on usage of chart designer.

 

8.1 Installation

8.1.1Prerequisite

Before installing ElegantJ Charts Designer, please ensure that your computer system and development environment are set up and working as per expectations. Person using ElegantJ Charts Designer is expected to be able to write and execute simple JAVA applications.

 

To be able to use ElegantJ Charts Designer, your computer systems are required to have JDK 1.4.0 or higher.

8.1.2Installation Procedure

On extracting ElegantJChartsDesigner.zip, following directories and files will be created

 

Ø  Directory [lib] contains Jar file(s)

Ø  Directory [templates] contains template file(s)

Ø  Directory [docs] contains document file(s)

Ø  Rundesigner.bat to run the ElegantJ Charts Designer

8.1.2.1            Installing on Windows 95/98

To include ElegantJ Charts Designer in CLASSPATH, add following statement to your autoexec.bat file,

 

 Set CLASSPATH=%CLASSPATH%;C:\ElegantJChartsDesigner\lib\EJChartsDesigner.jar;

 

Restart Windows to get effect of changes made.

 

8.1.2.2            Installing on Windows NT/2000/XP

Go to Control Panel and select System. You will find environment variables on Environment tab in Windows NT systems and on Advanced tab in Windows 2000 systems.

 

Find CLASSPATH environment variable or create it.

 

To include ElegantJ Charts Designer in the CLASSPATH, specify or add following value for variable –

 

[EXISTING-CLASSES]; C:\ElegantJChartsDesigner\lib\EJChartsDesigner.jar

8.1.2.3            Installing on Unix/Linux

Before you begin using ElegantJ Charts Designer, you must manually configure CLASSPATH environment variable. CLASSPATH must point to the location of classes and installation directory.

 

For example, to set CLASSPATH for ElegantJ Charts Designer,

 

setenv CLASSPATH .:/usr/local/ElegantJChartsDesigner/lib/EJChartsDesigner.jar

 

If you are using Bourne Shell, commands are,

 

CLASSPATH= $CLASSPATH:.:/usr/local/ElegantJChartsDesigner/lib/EJChartsDesigner.jar:export CLASSPATH

8.1.3Running the ElegantJ Charts Designer

Ø  Move to EJChartsDesigner

Ø  Run Rundesigner.bat file (only for Windows) or use following commands in command prompt.

 

java -cp .;./lib/EJChartsDesigner.jar com.graphdesigner.GraphDesigner

 

OR

 

java –jar /lib/EJChartsDesigner.jar

 

It will open ElegantJ Charts Designer. Using designer, you can design and customize chart and save them as XML template.