StackedBarSeries.js revision 11174dd4aa7b6152555e21e3e0a5a511e058415b
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp/**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * The StackedBarSeries renders bar chart in which series are stacked horizontally to show
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * their contribution to the cumulative total.
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @class StackedBarSeries
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @extends BarSeries
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @uses StackingUtil
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @constructor
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTrippY.StackedBarSeries = Y.Base.create("stackedBarSeries", Y.BarSeries, [Y.StackingUtil], {
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @protected
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * Draws the series.
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @method drawSeries
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp drawSeries: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(this.get("xcoords").length < 1)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp return;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var style = this.get("styles").marker,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp w = style.width,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp h = style.height,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp xcoords = this.get("xcoords"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp ycoords = this.get("ycoords"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp i = 0,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp len = xcoords.length,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp top = ycoords[0],
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp type = this.get("type"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp graph = this.get("graph"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp seriesCollection = graph.seriesTypes[type],
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp ratio,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp order = this.get("order"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp graphOrder = this.get("graphOrder"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp marker,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp lastCollection,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp useOrigin = order === 0,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp totalHeight = len * h,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp mnode;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp this._createMarkerCache();
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(totalHeight > this.get("height"))
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp ratio = this.height/totalHeight;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp h *= ratio;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp h = Math.max(h, 1);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(!useOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp lastCollection = seriesCollection[order - 1];
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues = lastCollection.get("negativeBaseValues");
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues = lastCollection.get("positiveBaseValues");
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp else
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues = [];
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues = [];
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp this.set("negativeBaseValues", negativeBaseValues);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp this.set("positiveBaseValues", positiveBaseValues);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp for(i = 0; i < len; ++i)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp top = ycoords[i];
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left = xcoords[i];
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(useOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp w = left - this._leftOrigin;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(left > this._leftOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues[i] = left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues[i] = this._leftOrigin;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp else if(left < this._leftOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues[i] = this._leftOrigin;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues[i] = left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp else
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues[i] = left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues[i] = this._leftOrigin;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left -= w;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp else
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(left < this._leftOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left = negativeBaseValues[i] - (this._leftOrigin - xcoords[i]);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp w = negativeBaseValues[i] - left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues[i] = left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp else if(left > this._leftOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left += (positiveBaseValues[i] - this._leftOrigin);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp w = left - positiveBaseValues[i];
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues[i] = left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left -= w;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp top -= h/2;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp style.width = w;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp style.height = h;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp marker = this.getMarker(style, graphOrder, i);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp mnode = Y.one(marker.parentNode);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp mnode.setStyle("position", "absolute");
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp mnode.setStyle("left", left);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp mnode.setStyle("top", top);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp this._clearMarkerCache();
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp },
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @protected
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp * Resizes and positions markers based on a mouse interaction.
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @method updateMarkerState
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @param {String} type state of the marker
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @param {Number} i index of the marker
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp updateMarkerState: function(type, i)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp if(this._markers[i])
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp {
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp var state = this._getState(type),
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp ycoords = this.get("ycoords"),
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp marker = this._markers[i],
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp styles = this.get("styles").marker,
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp h = styles.height,
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp markerStyles = state == "off" || !styles[state] ? styles : styles[state];
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp markerStyles.width = marker.width;
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp marker.update(markerStyles);
510ecacc5f9e1ea3a8250c3205621d15e3e83505Tripp if(marker.parentNode)
510ecacc5f9e1ea3a8250c3205621d15e3e83505Tripp {
510ecacc5f9e1ea3a8250c3205621d15e3e83505Tripp Y.one(marker.parentNode).setStyle("top", (ycoords[i] - h/2));
510ecacc5f9e1ea3a8250c3205621d15e3e83505Tripp }
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @protected
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * Returns default values for the <code>styles</code> attribute.
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @method _getPlotDefaults
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @return Object
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp _getPlotDefaults: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var defs = {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp fill:{
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp type: "solid",
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp alpha: 1,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp colors:null,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp alphas: null,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp ratios: null
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp border:{
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp weight: 0,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp alpha: 1
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp width: 24,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp height: 24,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp shape: "rect",
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp padding:{
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp top: 0,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp left: 0,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp right: 0,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp bottom: 0
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp };
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp defs.fill.color = this._getDefaultColor(this.get("graphOrder"), "fill");
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp defs.border.color = this._getDefaultColor(this.get("graphOrder"), "border");
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp return defs;
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp}, {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp ATTRS: {
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * Read-only attribute indicating the type of series.
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @attribute type
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @type String
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @default stackedBar
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp type: {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp value: "stackedBar"
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * Direction of the series
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @attribute direction
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @type String
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @default vertical
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp direction: {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp value: "vertical"
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @private
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp *
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @attribute negativeBaseValues
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @type Array
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @default null
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues: {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp value: null
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @private
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp *
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @attribute positiveBaseValues
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @type Array
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @default null
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues: {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp value: null
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp /**
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * Style properties used for drawing markers. This attribute is inherited from <code>BarSeries</code>. Below are the default values:
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>fill</dt><dd>A hash containing the following values:
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>color</dt><dd>Color of the fill. The default value is determined by the order of the series on the graph. The color
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * will be retrieved from the below array:<br/>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <code>["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]</code>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>border</dt><dd>A hash containing the following values:
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>color</dt><dd>Color of the border. The default value is determined by the order of the series on the graph. The color
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * will be retrieved from the below array:<br/>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <code>["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]</code>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>height</dt><dd>indicates the width of the marker. The default value is 24.</dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * <dt>over</dt><dd>hash containing styles for markers when highlighted by a <code>mouseover</code> event. The default
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * values for each style is null. When an over style is not set, the non-over value will be used. For example,
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * the default value for <code>marker.over.fill.color</code> is equivalent to <code>marker.fill.color</code>.</dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp *
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @attribute styles
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @type Object
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp});
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp