StackedBarSeries.js revision a75ebc38c1de401b679953a9b87bd323f0f48d02
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp/**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * The StackedBarSeries renders bar chart in which series are stacked horizontally to show
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * their contribution to the cumulative total.
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
a75ebc38c1de401b679953a9b87bd323f0f48d02Tripp * @module charts
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
823ddbefd8e5a9793fd80368647b6572a93f06e9Tripp var isNumber = Y.Lang.isNumber,
823ddbefd8e5a9793fd80368647b6572a93f06e9Tripp 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,
cc21b565833307c2b0b06deb4e3ab22c2a94be3eTripp totalHeight = len * h;
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];
823ddbefd8e5a9793fd80368647b6572a93f06e9Tripp if(!isNumber(top) || !isNumber(left))
823ddbefd8e5a9793fd80368647b6572a93f06e9Tripp {
562568c870b1109f8b462727a15d214d71d892afTripp if(useOrigin)
562568c870b1109f8b462727a15d214d71d892afTripp {
562568c870b1109f8b462727a15d214d71d892afTripp positiveBaseValues[i] = this._leftOrigin;
562568c870b1109f8b462727a15d214d71d892afTripp negativeBaseValues[i] = this._leftOrigin;
562568c870b1109f8b462727a15d214d71d892afTripp }
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp this._markers.push(null);
823ddbefd8e5a9793fd80368647b6572a93f06e9Tripp continue;
823ddbefd8e5a9793fd80368647b6572a93f06e9Tripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(useOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
ee60e5568372ba636aa7eac094d936deadf1ef83Tripp w = Math.abs(left - this._leftOrigin);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp if(left > this._leftOrigin)
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp positiveBaseValues[i] = left;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp negativeBaseValues[i] = this._leftOrigin;
ee60e5568372ba636aa7eac094d936deadf1ef83Tripp left -= w;
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 }
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 }
4a44e886072efd2f75d7eca199ba3327a3cdeedaTripp 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 }
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp if(!isNaN(w) && w > 0)
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp {
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp top -= h/2;
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp style.width = w;
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp style.height = h;
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp style.x = left;
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp style.y = top;
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp marker = this.getMarker(style, graphOrder, i);
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp }
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp else
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp {
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp this._markers.push(null);
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp }
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];
cc21b565833307c2b0b06deb4e3ab22c2a94be3eTripp markerStyles.y = (ycoords[i] - h/2);
cc21b565833307c2b0b06deb4e3ab22c2a94be3eTripp markerStyles.x = marker.get("x");
cc21b565833307c2b0b06deb4e3ab22c2a94be3eTripp markerStyles.width = marker.get("width");
4a55a0fcc3d0a6cc7557769aea54169614ffbf71Tripp markerStyles.id = marker.get("id");
cc21b565833307c2b0b06deb4e3ab22c2a94be3eTripp marker.set(markerStyles);
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp },
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp /**
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp * @protected
8648721e29bb657dd5c5ff20f03e86fe50628ce6Tripp *
8209f3939e32e0e5bde64192267fdaf9db6f4fbcTripp * Returns default values for the `styles` 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 /**
8209f3939e32e0e5bde64192267fdaf9db6f4fbcTripp * Style properties used for drawing markers. This attribute is inherited from `BarSeries`. 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/>
8209f3939e32e0e5bde64192267fdaf9db6f4fbcTripp * `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
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/>
8209f3939e32e0e5bde64192267fdaf9db6f4fbcTripp * `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
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>
8209f3939e32e0e5bde64192267fdaf9db6f4fbcTripp * <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` 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,
8209f3939e32e0e5bde64192267fdaf9db6f4fbcTripp * the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * </dl>
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp *
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @attribute styles
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp * @type Object
11174dd4aa7b6152555e21e3e0a5a511e058415bTripp */
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp});
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp