RadarSeries.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. var SeriesModel = require("../../model/Series");
  2. var List = require("../../data/List");
  3. var completeDimensions = require("../../data/helper/completeDimensions");
  4. var zrUtil = require("zrender/lib/core/util");
  5. var _format = require("../../util/format");
  6. var encodeHTML = _format.encodeHTML;
  7. var RadarSeries = SeriesModel.extend({
  8. type: 'series.radar',
  9. dependencies: ['radar'],
  10. // Overwrite
  11. init: function (option) {
  12. RadarSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item
  13. // Use a function instead of direct access because data reference may changed
  14. this.legendDataProvider = function () {
  15. return this.getRawData();
  16. };
  17. },
  18. getInitialData: function (option, ecModel) {
  19. var data = option.data || [];
  20. var dimensions = completeDimensions([], data, {
  21. extraPrefix: 'indicator_',
  22. extraFromZero: true
  23. });
  24. var list = new List(dimensions, this);
  25. list.initData(data);
  26. return list;
  27. },
  28. formatTooltip: function (dataIndex) {
  29. var value = this.getRawValue(dataIndex);
  30. var coordSys = this.coordinateSystem;
  31. var indicatorAxes = coordSys.getIndicatorAxes();
  32. var name = this.getData().getName(dataIndex);
  33. return encodeHTML(name === '' ? this.name : name) + '<br/>' + zrUtil.map(indicatorAxes, function (axis, idx) {
  34. return encodeHTML(axis.name + ' : ' + value[idx]);
  35. }).join('<br />');
  36. },
  37. defaultOption: {
  38. zlevel: 0,
  39. z: 2,
  40. coordinateSystem: 'radar',
  41. legendHoverLink: true,
  42. radarIndex: 0,
  43. lineStyle: {
  44. normal: {
  45. width: 2,
  46. type: 'solid'
  47. }
  48. },
  49. label: {
  50. normal: {
  51. position: 'top'
  52. }
  53. },
  54. // areaStyle: {
  55. // },
  56. // itemStyle: {}
  57. symbol: 'emptyCircle',
  58. symbolSize: 4 // symbolRotate: null
  59. }
  60. });
  61. var _default = RadarSeries;
  62. module.exports = _default;