ASE Home Page Product Download Purchase Support About ASE

ChartDirector Ver 4.0 Release Notes

This document describes the features and enhancements in ChartDirector Ver 4.0 comparing to ChartDirector Ver 3.1. For enhancements in earlier versions of ChartDirector, please refer to the release notes archive.

Enhancements in Ver 4.0

Meters and Gauges
ChartDirector Ver 4.0 now supports angular and linear meters as additional chart types. Like all ChartDirector chart types, they are highly flexible and configurable, and support features such as CDML, metallic coloring, background zones, arbitrary text boxes and custom drawings, etc.
Donut Chart
ChartDirector Ver 4.0 now supports Donut Charts, which are similar to Pie Charts but use donuts instead of pies.
FinanceChart with Source Code
ChartDirector Ver 4.0 introduces a new FinanceChart object for building complex financial charts easily (such as financial charts with plenty of technical indicators).

Whereas one can create complex financial charts even in previous versions of ChartDirector, the indicator charts need to be created one by one and combined using MultiChart. Also, only basic technical indicators are built-in, and the developer often needs to write code to compute more complex technical indicators from the basic building blocks.

The FinanceChart object in ChartDirector Ver 4.0 contains numerous built-in technical indicators. It allows arbitrary technical indicator charts to stack on top or on bottom of the main chart. Adding a technical indicator chart only needs one line of code.

To demonstrate the power of the FinanceChart object, ChartDirector includes an Interactive Finance Chart sample program that allows the user to interactively attach various technical indicators to a finance chart and configure various attributes.

FinanceChart is built on-top of ChartDirector. It source code is opened to demonstrate how one can build an application specific chart library on top of ChartDirector.
XY Vector Chart Layer
ChartDirector Ver 4.0 introduces a new XY layer type - Vector Chart Layer. This layer draws data symbols at arbitrary positions like a scatter chart, but the symbols are arrows with variable lengths and directions.

Vector chart layers are most useful to visualize various types of flow and movements (such as wind and water flow), and for visualizing vector fields (eg. electromagnetic fields).
Bar Shapes
ChartDirector Ver 4.0 now supports bar chart layers with bars of cylindrical or arbitrary polygon shapes. Both convex polygons (triangles, hexagons) and concave polygons (star shapes, cross shapes) are supported. ChartDirector comes with many built-in shapes. Developers can also use customs shapes by specifying an array of numbers as the coordinates of the polygon vertices.
Overlapping Bars
In previous version of ChartDirector, one may create bar chart layers with overlapping bars by using negative bar gaps. However, the bar overlapping order is always from right to left.

In ChartDirector Ver 4.0, there is now an API designed to allow overlapping bars to be created easily, with configurable overlapping order.
Symbols Enhancements
In previous versions of ChartDirector, built-in symbols include rectangles, diamond shapes, triangles, circles and cross shapes built from lines.

ChartDirector Ver 4.0 enhances built-in symbols support to include regular polygons with arbitrary number of sizes, stars with arbitrary number of points, and cross shapes with configurable thickness and orientation.

Furthermore, ChartDirector now supports user defined arbitrary polygonal shapes by using an array of numbers as the coordinates of the polygon vertices.
Multi-Color Box-Whisker Chart Layer
In previous version of ChartDirector, each box-whisker chart layer can only have 1 main color for the box. Multi-color box-whisker Charts will need to be created by splitting up the data into multiple box-whisker chart layers.

ChartDirector Ver 4.0 now has built-in support for multi-color box-whisker layers, allow this type of charts to be created easily.
Improved Gantt Charts
Due to the enhancements in the Box-Whisker Chart Layer and various other improvements, it is much easier to draw sophisticated gantt charts in ChartDirector Ver 4.0. ChartDirector now includes sample code demonstrating gantt charts with multiple colors, multiple layers, and with milestone symbols.
Multi-Color HLOC Chart Layer
In previous version of ChartDirector, all HLOC symbols in a HLOC chart layer are of the same color. Multi-color HLOC charts will need to be created by splitting up the data into multiple HLOC chart layers.

ChartDirector Ver 4.0 now has built-in support for multi-color HLOC chart layers, in which the HLOC symbols can be colored according to whether they represents "up" days or "down" days.
Configurable Gap Colors for Area and Interline Chart Layers
In ChartDirector, a line chart layer can handle a NoValue data point by joining the previous and next points directly using a line of configurable colors or styles. This can create the effect of a broken line (by joining with an invisible line), a continuous line, or something in between (eg. dash line).

In contrast, in previous versions of ChartDirector, an area or interline chart layer can only handle NoValue data points by ignoring them, that is, by directly joining the remaining points.

In ChartDirector Ver 4.0, the area and interline chart layer has been enhanced to support the same capabilities as the line chart layer, that is, the gap color is now configurable to produce various effects.
Unlimited Number of Axes
Previous versions of ChartDirector support two x-axes and two y-axes in each XY Chart. ChartDirector Ver 4.0 now supports an unlimited number of y-axes (limited only practically by availabel computer resources) per XY Chart.
4 Quadrant Axis Layout
ChartDirector Ver 4.0 supports 4 Quadrant Axis Layout with various symmetry mode.

In 4 Quadrant Axis Layout, instead of putting the axes around the borders of the plot area, the primary x-axis and y-axis will be positioned to intersect at the origin (if it is a visible point in the chart), which may be internal to the plot area.

The symmetry mode specifies whether the axes should be made symmetrical about the origin(that is, the positive and negative sides are of the same length), even though the actual data may not be symmetrical.
Multi-Style Date Format
In previous versions of ChartDirector, axis labels are fully configurable, but by default, all labels on the same axis will use the same style and format. Developers need to write additional coding if they want to customize certain axis labels to be different.

ChartDirector Ver 4.0 now supports multi-style date format, in which different types dates can of different styles and formats. For example, the first month of a year can be formatted as "mmm<*br*>yyyy" in bold font, while the other months as "mmm" in normal font.
Axis Image Maps
In previous versions of ChartDirector, image maps for axes have to be generated by writing code to create the image map HTML tags. ChartDirector Ver 4.0 now supports automatic generation of image maps for axes.
Axis Ticks/Labels Shifting
In ChartDirector, by default, the ticks are center-aligned with the axis labels, so as to mark the precise positions of the labels.

ChartDirector Ver 4.0 supports specifying additional offsets for the ticks and/or the labels. For example, one may move the ticks so that they appear in between the labels (as separators for the labels) instead of center-aligned with the labels.
Minimum Axis Tick Increment
In all versions of ChartDirector, when axis auto-scaling is used, ChartDirector will automatically compute the axis scale based on the actual data, and put the ticks and labels on the axis, so that the ticks and labels are neither too far away nor too close from each others.

However, in some cases, due to the nature of the data, it may be desirable for the ticks to be integers only, or be multiples of 100 or of some other numbers. A tick increment of 0.1 may be inappropriate for an axis whose ticks must be integers, even though 0.1 may result in optimal tick spacing from the visual appearance point of view.

In previous versions of ChartDirector, additional code has to be written by the developer to handle the above cases. ChartDirector Ver 4.0 now allows the minimum tick increment to be specified as a constraint for auto-scaling, so the auto-generated ticks will be multiples of the minimum tick increment.
Vertical Alternative Background Coloring
ChartDirector has always supported using alternative plot area background colors, in which two background colors will interleave, forming horizontal bands (bands parallel to the x-axis) in the plot area background. ChartDirector Ver 4.0 extends this feature to allow vertical bands (bands parallel to the y-axis) as well as horizontal bands.
4 Quadrant Background Coloring
ChartDirector Ver 4.0 supports using 4 different background colors the 4 quadrants. (The 4 quadrants are the 4 regions divided by the x = 0 and y = 0 lines.)
Global Percentage Field
In ChartDirector XY charts, the percentage field "{percent}" in parameter substitution represents the percentage of a data value relative to the sum of all data values at the same x position. This definition of percentage is consistent with what is used in stacked bar/area charts or percentage bar/area charts, in which the data values are stacked.

ChartDirector Ver 4.0 now supports another type of percentage - the global percentage "{gpercent}" - which is the percentage relative to the sum of all data values in a layer. This definition is useful in case one needs to show the percentage for non-stacked chart types, such as a simple bar chart.
Polar Vector Layer
ChartDirector Ver 4.0 introduces a new polar layer type - Polar Vector Layer. This layer draws data symbols at arbitrary positions like a scatter chart, but the symbols are arrows with variable lengths and directions.
Polar Rose Chart
ChartDirector Ver 4.0 supports the rose chart style, which are like a 2D pie chart but with each sector having a different radius. Mutiple sectors can be overlaid to create a stacked rose chart.
Polar Zones
ChartDirector Ver 4.0 supports both angular and radial zones for polar charts, in which the zones are represented by sectors and rings.
Alternative Polar Background Coloring
ChartDirector Ver 4.0 supports alternative background coloring on both the angular and radial orientations, creating alternative ring coloring and alternative sector coloring effects.
LegendBox Grid Layout
In previous versions of ChartDirector, the legend box entries can be laid out vertical with one line per entry, or horizontally like flowing text.

ChartDirector Ver 4.0 supports a new kind of layout - the grid layout - in which the legend entries are put into a table of equal size cells. The number of columns in the table can be configured or automatically determined. If the cell width is not enough to hold the legend entry, the legend text will be automatically wrapped into multiple lines.

Legend Entry Ordering
In previous versions of ChartDirector, the legend box entries for the layers follow the order in the chart layers are created, and manually added entries keys will always come first. This has been enhanced in ChartDirector Ver 4.0 so that the legend entries can now be ordered arbitrarily.
LegendBox Size Determination
In previous versions of ChartDirector, the size of the legend box is computed during chart layout, so the size is known only after chart layout.

In ChartDirector Ver 4.0, the size of the legend box is known before chart layout. It is therefore possible to adjust chart layout based on the predicted legend box size.
TextBox Auto-Wrapping
ChartDirector Ver 4.0 allows setting a maximum width for a TextBox object. If the actual text is longer than the maximum width, the text will automatically be wrapped into multiple lines.
TextBox Z Ordering
In previous versions of ChartDirector, custom text boxes are always visible on top of the chart. ChartDirector Ver 4.0 now allows custom text boxes to be inserted in between various chart objects by specifying z orders. For instance, one may insert a text box at the on above the grid lines but under the other chart layers.
CDML Enhancements
ChartDirector Ver 4.0 introduces a number of enhancements to the ChartDirector Mark Up Language (CDML). These include:
  • <*super*> and <*sub*> tags for superscript and subscript support

  • <*xoffset=xxx,yoffset=yyy*> tag for shifting text

  • <*/font*> tag for restoring to the previous font section.

  • width and height attributes for the <*block*> tag to manually specify the width and height of the block.

  • bgcolor attribute for the <*block*> tag to specify the background color of the block.

  • width and height attributes for the <*img*> tag to resize the image to the specified width and height.
Scientific Formatting
ChartDirector Ver 4.0 now supports scientific formatting of numbers, that is, formatting a number into something like 1.234E+5.
Artificial Boldening and Italicing of Fonts
ChartDirector Ver 4.0 now can artificially embolden and italicizing a font even if the original font does not have with a bold and italic style.
Font List Support
Instead of specifying a single font for text, ChartDirector Ver 4.0 now supports font lists. This allows the developer to specify backup fonts to use in case the primary font is unavailable or does not support certain international characters.
Enhanced Metallic Coloring
In previous versions of ChartDirector, metallic background colors are created using gradient colors. Built-in gradients for gold, silver, red metallic, green metallic and blue metallic colors are included.

ChartDirector Ver 4.0 can now generate metallic background colors of arbitrary base colors directly without relying on pre-defined gradients.
Color Reduction
In previous versions of ChartDirector, if the chart is to be created as a PNG image, it is possible to enforce palette mode coloring, in which the image will be reduced to no more than 256 colors using an optimal palette. The main motivation is usually to create smaller size images so to save bandwidth. (GIF only supports palette mode, while JPEG only supports true color mode, so only PNG needs to be configured.)

In ChartDirector Ver 4.0, this capabilities is enhanced that the number of colors can be reduced to a configurable number between 16 - 256 and optionally converted to black and white only (with grey scales).
Alpha Channel in PNG Image Output
The PNG image format supports an optional alpha channel for storing alpha transparency information of the image. However, most browsers and programs currently do not support alpha transparency (most browsers only support single color transparency).

For this reason, in previous versions of ChartDirector, alpha transparency information is only used internally, and is removed from the PNG output. This is to reduce chart size.

In ChartDirector Ver 4.0, alpha transparency in PNG output is configurable, so it is possible to retain the alpha transparency information in PNG output. This is useful if the chart image is to be used by other applications that do support alpha transparency.
Ring and Ring Sector Shapes
The ChartDirector DrawAraw graphics library now supports two more fundamental shapes - ring (the region between two concentric circles) and ring sector (a slice of the ring). They are useful for decorating circular and semi-circular objects, like angular meters and polar charts.

Behaviour Changes in Ver 4.0

ChartDirector is designed to be code compatible with previous versions of ChartDirector, which means existing code will continue to run. However, the behaviour of the followings are changed slightly.
Legend Box Key Border
In previous versions of ChartDirector, the color key of a legend entry is a borderless square. The color key will become invisible if the data set is using the same color as the legend box background.

For example, in a bar chart, it is possible to use a white bar on a white background. The bar is still visible because of the black bar border. However, the color box in the legend key will be completely white and therefore invisible in a white background.

This is changed in ChartDirector Ver 4.0 so that the color boxes are now using the default line color as the border, and is configurable.
Box.setPos for Axis Title
As according to ChartDirector documentation, the position of the axis title can be adjusted by using the Axis.setTitlePos API. The axis title itself is represented as a TextBox object, which provides the interface for configuring the axis title style.

It happens the TextBox object has a setPos method, which may be used to shift the text box to a new position. Normally, one would expect the positive x direction is rightwards, while the positive y direction is downwards. However, in case of the axis title, in ChartDirector Ver 3.x, the setPos may shift the title towards an unexpected direction. This is fixed in ChartDirector Ver 4.0.

It is expected the setPos method of the axis title is rarely used because the Axis.setTitlePos method is the documented method to move axis titles. However, in case some code are relying on the above unexpected behaviour, the code will continue to run, but the axis title may be moved to a different location in ChartDirector Ver 4.0. These code may need to be modified.
.NET FinanceChart Sample Code
Before ChartDirector Ver 4.0 is released, there was already a FinanceChart object for ChartDirector for .NET, released as a sample code for download. Since the FinanceChart object is now included as standard in ChartDirector Ver 4.0, the previous FinanceChart sample code is no longer needed.

In fact, the previous FinanceChart sample code may not work with ChartDirector Ver 4.0 due to namespace conflicts. It is because both ChartDirector Ver 4.0 and the previous sample code defines FinanceChart under the ChartDirector namespace, resulting in conflicts.

If for some reasons, you still want to use the previous FinanceChart sample code (eg. you may have modified and customized it), you may need to change the namespace to something else to avoid conflicts.

In general, we do not recommend using the ChartDirector namespace in any customized code to avoid namespace conflicts with current or future versions of ChartDirector.

Note that when upgrading from the previous FinanceChart sample code to the standard FinanceChart object in ChartDirector Ver 4.0, the behaviour of the FinanceChart.setLabelFormat method has changed. In the previous sample code, the format string is based on .NET format string syntax. In ChartDirector Ver 4.0, it is based on ChartDirector Parameter Substitution and Formatting. This is for consistency with other ChartDirector methods and ChartDirector editions. If you are using FinanceChart.setLabelFormat in your code, you may need to modify the format strings.

Upgrade Considerations

Code Compatibility
ChartDirector Ver 4.0 is designed to be code compatible with all previous versions of ChartDirector. That means all source code should run without modification.
Behavioural Compatibility
The charts produced by ChartDirector Ver 4.0 may be slightly different from the charts produced by earlier versions of ChartDirector using the same source code. Please refer to Behaviour Changes in Ver 4.0 for details.
License Compatibility
Advanced Software Engineering's licensing policy is that all commercial software licenses will be entitled to free upgrade for at least 1 year.

It is decided that ChartDirector licenses purchased on or after 1 April 2003 will be entitled to free upgrade to ChartDirector Ver 4.0. (This is equivalent to 21 months upgrade period.) ChartDirector Ver 4.0 will automatically recognize license keys issued on or after that date and continue to accept them. There is no need to obtain an upgrade key.

If you have purchased a ChartDirector license before 1 April 2003 (that means at the time of the purchase, the ChartDirector version was Ver 2.5 or below), you will need to purchase an upgrade license to use ChartDirector Ver 4.0. Please refer to Purchasing ChartDirector Upgrades for details.
Upgrade Procedure
To upgrade ChartDirector, simply install the new version on top of the old version.

For the ASP/COM/VB editions ChartDirector, you may need to run the installer twice to upgrade ChartDirector. The installer will first uninstall your existing ChartDirector. It may prompt you to reboot in order to complete uninstallation (especially if you are using ChartDirector with IIS). If this happens, please reboot first before continuing to install ChartDirector. After uninstallation is completed, please run the installer again to install ChartDirector.

For the PHP/Perl/Python editions of ChartDirector, please remember to update the files "phpchartdir.php", "perlchartdir.pm" and "pychartdir.py". These files are the language interfaces to the ChartDirector DLL or shared object. Their versions must match exactly with that of the ChartDirector DLL or shared object. Depending on how you install ChartDirector, these files may have been copied to the default module directory of your language interpreter, and/or to various scripting directories in your computer.

If you are using PHP or mod_perl with Apache, you may need to restart the Apache server for the upgraded ChartDirector to take effect.