LegendSpec.setPosition(value)

Specifies the position of the legend’s bottom-left corner (in pixels or proportion) for cases when “in place” layout is used. (Positive values specify distance from left/bottom. Negative values specify distance from right/top.) The corresponding “getter” function is getPosition().

Paramater

value

a subclass of java.awt.geom.Point2D
(e.g., java.awt.Point for pixels, java.awt.geom.Point2D.Double for proportion)

Example

Chart Component Script
dataset = [["State", "Quantity"], ["NJ",200], ["NY",300]]; (1)
graph = new EGraph();
var elem = new IntervalElement("State", "Quantity");
var frame = new CategoricalColorFrame();
frame.setField("State");
var spec = new LegendSpec(); (2)
spec.setPosition(java.awt.Point(50,245)); // in pixels (3)
frame.setLegendSpec(spec); (4)
elem.setColorFrame(frame);
graph.setLegendLayout(Chart.IN_PLACE);
graph.addElement(elem);
1 See dataset to use a data block instead of an array literal.
2 Create the LegendSpec object.
3 Use setPosition to assign position.
4 Use VisualFrame.setLegendSpec(spec) to assign the LegendSpec object to the ColorFrame.

LegendSpecExamplesetPosition

Script that modifies the graph or dataset properties should be placed on the Chart component itself. See Add Component Script for more information. This script has access to the Chart data and Chart API methods. Scripted Charts are not good candidates for user-modification, so you should deselect ‘Enable Ad Hoc Editing’ in the Chart Properties dialog box.

To change the property on a Chart that was previously created with the Chart Editor, use “getter” methods such as EGraph.getElement(index) ① and GraphElement.getColorFrame() ② to obtain a handle to the desired GraphElement and ColorFrame. For example:

var elem = graph.getElement(0); (1)
var frame = elem.getColorFrame(); (2)
// Compact syntax: var frame = graph.getElement(0).getColorFrame();

var spec = new LegendSpec();
spec.setPosition(java.awt.Point(50,245)); // in pixels
frame.setLegendSpec(spec);
graph.setLegendLayout(Chart.IN_PLACE);