ScatterView.js 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. var echarts = require("../../echarts");
  2. var SymbolDraw = require("../helper/SymbolDraw");
  3. var LargeSymbolDraw = require("../helper/LargeSymbolDraw");
  4. echarts.extendChartView({
  5. type: 'scatter',
  6. init: function () {
  7. this._normalSymbolDraw = new SymbolDraw();
  8. this._largeSymbolDraw = new LargeSymbolDraw();
  9. },
  10. render: function (seriesModel, ecModel, api) {
  11. var data = seriesModel.getData();
  12. var largeSymbolDraw = this._largeSymbolDraw;
  13. var normalSymbolDraw = this._normalSymbolDraw;
  14. var group = this.group;
  15. var symbolDraw = seriesModel.get('large') && data.count() > seriesModel.get('largeThreshold') ? largeSymbolDraw : normalSymbolDraw;
  16. this._symbolDraw = symbolDraw;
  17. symbolDraw.updateData(data);
  18. group.add(symbolDraw.group);
  19. group.remove(symbolDraw === largeSymbolDraw ? normalSymbolDraw.group : largeSymbolDraw.group);
  20. },
  21. updateLayout: function (seriesModel) {
  22. this._symbolDraw.updateLayout(seriesModel);
  23. },
  24. remove: function (ecModel, api) {
  25. this._symbolDraw && this._symbolDraw.remove(api, true);
  26. },
  27. dispose: function () {}
  28. });