UNPKG

@alicloud/cloud-charts

Version:

![](https://img.shields.io/npm/v/@alicloud/cloud-charts?color=%23ff8200)

109 lines (105 loc) 3.75 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = exports.Hexagonal = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _Base2 = _interopRequireDefault(require("../common/Base")); var _dataSet = require("@antv/data-set/lib/data-set"); var _errorWrap = _interopRequireDefault(require("../common/errorWrap")); var _index = _interopRequireDefault(require("../themes/index")); var _common = require("../common/common"); var _rectXAxis = _interopRequireDefault(require("../common/rectXAxis")); var _rectYAxis = _interopRequireDefault(require("../common/rectYAxis")); var _rectTooltip = _interopRequireDefault(require("../common/rectTooltip")); var _rectLegend = _interopRequireDefault(require("../common/rectLegend")); var _geomSize = _interopRequireDefault(require("../common/geomSize")); var _geomStyle = _interopRequireDefault(require("../common/geomStyle")); require("@antv/data-set/lib/api/statistics"); require("@antv/data-set/lib/transform/bin/hexagon"); var Hexagonal = exports.Hexagonal = /*#__PURE__*/function (_Base) { (0, _inheritsLoose2["default"])(Hexagonal, _Base); function Hexagonal() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _Base.call.apply(_Base, [this].concat(args)) || this; _this.chartName = 'G2Hexagonal'; return _this; } var _proto = Hexagonal.prototype; _proto.getDefaultConfig = function getDefaultConfig() { return { colors: _index["default"].order_10, tooltip: { titleFormatter: null, nameFormatter: null, valueFormatter: null }, legend: { align: 'left', nameFormatter: null // 可以强制覆盖,手动设置label } }; }; _proto.init = function init(chart, config, data) { // 设置数据度量 var defs = { // x: propertyAssign( // propertyMap.axis, // { // type: 'cat', // }, // { // visible: false, // }, // ), y: (0, _common.propertyAssign)(_common.propertyMap.axis, {}, { visible: false, nice: true }), count: { nice: true } }; chart.scale(defs); var ds = new _dataSet.DataSet({ state: { sizeEncoding: false } }); var hexagonalDataView = ds.createView().source(this.rawData).transform({ // sizeByCount: '$state.sizeEncoding', // calculate bin size by binning count type: 'bin.hexagon', fields: ['x', 'y'], // 对应坐标轴上的一个点 bins: [10, 5] }); chart.data(hexagonalDataView.rows); // 设置X轴 (0, _rectXAxis["default"])(this, chart, config); (0, _rectYAxis["default"])(this, chart, config); // 设置图例 (0, _rectLegend["default"])(this, chart, config, {}, 'multiple', 'count'); // tooltip (0, _rectTooltip["default"])(this, chart, config, {}, null, { showCrosshairs: false, showMarkers: false }); drawHexagonal(chart, config, config.colors); }; return Hexagonal; }(_Base2["default"]); var Whexagonal = (0, _errorWrap["default"])(Hexagonal); var _default = exports["default"] = Whexagonal; function drawHexagonal(chart, config, colors, field) { if (field === void 0) { field = 'count'; } var size = config.size; var geom = chart.polygon().position(['x', 'y']).color(field, colors); (0, _geomSize["default"])(geom, size, null, 'y', 'y*count*extra'); (0, _geomStyle["default"])(geom, config.geomStyle, { lineWidth: 2 }, 'y*count*extra'); }