ChartDirector Ver 3.0 (Perl Edition)

Making Other Objects Clickable


Note that ChartDirector image map support is "open-ended". You can always insert additional <area> tags inside the image map.

In general, if an entity multiple clickable regions (e.g. all bars in a bar chart), the "getHTMLImageMap" method of that entity may be used to generate the <area> tags for all regions at once. These <area> tags will use the same handler and the region clickable will be distinguished by query parameters.

On the other hand, if an entity only has one clickable region (e.g. a single sector or a text box), it is more convenient to enter the handler and tool tip attributes directly into the <area> tag. In this case, the "getImageCoor" method of that entity may be used for getting the image map coordinates of the clickable region.

In case an object has no "getHTMLImageMap" or "getImageCoor" method, it may be necessary to compute or estimate what are its coordinates in order to create the <area> tag.

For example, suppose you want the vertical y-axis of a XYChart to be clickable as a single entity. The end points of the y-axis are known. They are just the corners of the plot area. The "width" of the y-axis may be unknown, but for clickable purposes, it may be acceptable to assume a reasonable width, or you may do some experiments to determine the width. In this way, the coordinates of the bounding rectangle of the y-axis can be determined.

If the (x, y) coordinates of an object is only known by their data value, you can change them to pixel coordinates using Layer.getXCoor and Layer.getYCoor (or PolarChart.getXCoor and PolarChart.getYCoor for polar charts).