UNPKG

@alicloud/cloud-charts

Version:

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

176 lines (136 loc) 4.92 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = exports.Box = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _Base2 = _interopRequireDefault(require("../common/Base")); var _errorWrap = _interopRequireDefault(require("../common/errorWrap")); var _index = _interopRequireDefault(require("../themes/index")); var _common = require("../common/common"); var _legendFilter = _interopRequireDefault(require("../common/legendFilter")); 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 _guide = _interopRequireDefault(require("../common/guide")); var _geomSize = _interopRequireDefault(require("../common/geomSize")); var _geomStyle = _interopRequireDefault(require("../common/geomStyle")); var _interaction = require("../common/interaction"); require("./index.css"); // import { LabelConfig } from "../common/label"; var Box = /*#__PURE__*/function (_Base) { (0, _inheritsLoose2["default"])(Box, _Base); function Box() { 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 = 'G2Box'; return _this; } var _proto = Box.prototype; _proto.getDefaultConfig = function getDefaultConfig() { return { colors: _index["default"].category_12, // padding: ['auto', 'auto', 'auto', 'auto'], xAxis: { type: 'cat', labelFormatter: null, // 可以强制覆盖,手动设置label categories: null, autoRotate: false }, yAxis: { labelFormatter: null, // 可以强制覆盖,手动设置label max: null, min: null }, legend: { align: 'left', nameFormatter: null // 可以强制覆盖,手动设置label }, tooltip: { titleFormatter: null, nameFormatter: null, valueFormatter: null }, dodge: true, marginRatio: 0, grid: false, // zoom: false, size: null // label: false, }; }; _proto.init = function init(chart, config, data) { // 设置数据度量 var defs = { x: (0, _common.propertyAssign)(_common.propertyMap.axis, { type: 'cat' }, config.xAxis), y: (0, _common.propertyAssign)(_common.propertyMap.axis, { type: 'linear', tickCount: 5, nice: true }, config.yAxis), type: { type: 'cat' } }; chart.scale(defs); chart.data(data); // 设置单个Y轴 (0, _rectYAxis["default"])(this, chart, config); // 设置X轴 (0, _rectXAxis["default"])(this, chart, config); // 设置图例 (0, _rectLegend["default"])(this, chart, config, null, false, 'type'); (0, _legendFilter["default"])(this, chart); // tooltip (0, _rectTooltip["default"])(this, chart, config, {}, null, { showCrosshairs: false, showMarkers: false }); (0, _interaction.activeRegionWithTheme)(chart); // 绘制辅助线,辅助背景区域 (0, _guide["default"])(chart, config); drawBox(chart, config, config.colors); }; return Box; }(_Base2["default"]); exports.Box = Box; var Wbox = (0, _errorWrap["default"])(Box); var _default = Wbox; exports["default"] = _default; function drawBox(chart, config, colors, field) { if (field === void 0) { field = 'type'; } var dodge = config.dodge, marginRatio = config.marginRatio, size = config.size; var geom = chart.schema().position(['x', 'y']).shape('box').color(field, colors).state({ active: { style: function style(ele) { var _ele$model; return { stroke: ele === null || ele === void 0 ? void 0 : (_ele$model = ele.model) === null || _ele$model === void 0 ? void 0 : _ele$model.color }; } }, selected: { style: function style(ele) { var _ele$model2; return { stroke: ele === null || ele === void 0 ? void 0 : (_ele$model2 = ele.model) === null || _ele$model2 === void 0 ? void 0 : _ele$model2.color }; } } }); if (dodge !== false) { geom.adjust([{ type: 'dodge', marginRatio: marginRatio || 0.5 // 数值范围为 0 至 1,用于调整分组中各个柱子的间距 }]); } (0, _geomSize["default"])(geom, size, null, 'y', 'x*y*type*extra'); (0, _geomStyle["default"])(geom, config.geomStyle, { lineWidth: 2 }, 'x*y*type*extra'); // label(geom, config); }