helper.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. var zrUtil = require("zrender/lib/core/util");
  2. var createListFromArray = require("./chart/helper/createListFromArray");
  3. var axisHelper = require("./coord/axisHelper");
  4. var axisModelCommonMixin = require("./coord/axisModelCommonMixin");
  5. var Model = require("./model/Model");
  6. var _completeDimensions = require("./data/helper/completeDimensions");
  7. exports.completeDimensions = _completeDimensions;
  8. var _symbol = require("./util/symbol");
  9. exports.createSymbol = _symbol.createSymbol;
  10. /**
  11. * Create a muti dimension List structure from seriesModel.
  12. * @param {module:echarts/model/Model} seriesModel
  13. * @return {module:echarts/data/List} list
  14. */
  15. function createList(seriesModel) {
  16. var data = seriesModel.get('data');
  17. return createListFromArray(data, seriesModel, seriesModel.ecModel);
  18. }
  19. /**
  20. * @see {module:echarts/data/helper/completeDimensions}
  21. */
  22. /**
  23. * Create scale
  24. * @param {Array.<number>} dataExtent
  25. * @param {Object|module:echarts/Model} option
  26. */
  27. function createScale(dataExtent, option) {
  28. var axisModel = option;
  29. if (!(option instanceof Model)) {
  30. axisModel = new Model(option);
  31. zrUtil.mixin(axisModel, axisModelCommonMixin);
  32. }
  33. var scale = axisHelper.createScaleByModel(axisModel);
  34. scale.setExtent(dataExtent[0], dataExtent[1]);
  35. axisHelper.niceScaleExtent(scale, axisModel);
  36. return scale;
  37. }
  38. /**
  39. * Mixin common methods to axis model,
  40. *
  41. * Inlcude methods
  42. * `getFormattedLabels() => Array.<string>`
  43. * `getCategories() => Array.<string>`
  44. * `getMin(origin: boolean) => number`
  45. * `getMax(origin: boolean) => number`
  46. * `getNeedCrossZero() => boolean`
  47. * `setRange(start: number, end: number)`
  48. * `resetRange()`
  49. */
  50. function mixinAxisModelCommonMethods(Model) {
  51. zrUtil.mixin(Model, axisModelCommonMixin);
  52. }
  53. exports.createList = createList;
  54. exports.createScale = createScale;
  55. exports.mixinAxisModelCommonMethods = mixinAxisModelCommonMethods;