@easyv/charts 1.5.27 → 1.5.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -286,8 +286,9 @@ var Component = /*#__PURE__*/(0, _react.memo)(function (_ref5) {
286
286
  _ref5$config$chart$le2 = _ref5$config$chart$le.formatter,
287
287
  formatter = _ref5$config$chart$le2 === void 0 ? _formatter.pieLegendFormatter : _ref5$config$chart$le2,
288
288
  legend = (0, _objectWithoutProperties2["default"])(_ref5$config$chart$le, _excluded3),
289
- _ref5$config$chart$an = _ref5$config$chart.animation,
290
- ringDuration = _ref5$config$chart$an.ringDuration,
289
+ _ref5$config$chart$an = _ref5$config$chart.animation;
290
+ _ref5$config$chart$an = _ref5$config$chart$an === void 0 ? {} : _ref5$config$chart$an;
291
+ var ringDuration = _ref5$config$chart$an.ringDuration,
291
292
  labelDuration = _ref5$config$chart$an.labelDuration,
292
293
  _ref5$config$chart$ma = _ref5$config$chart.margin,
293
294
  marginLeft = _ref5$config$chart$ma.marginLeft,
@@ -23,6 +23,17 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
23
23
 
24
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
+ //扩张系数,用于扩大数据的最大最小值范围,达到图表尽量居中显示的效果
27
+ var extentRatio = 0;
28
+
29
+ var extentRange = function extentRange(value, type) {
30
+ if (value >= 0) {
31
+ return type == "min" ? value * (1 - extentRatio) : value * (1 + extentRatio);
32
+ } else {
33
+ return type == "min" ? value * (1 + extentRatio) : value * (1 - extentRatio);
34
+ }
35
+ };
36
+
26
37
  var stackData = function stackData(data, series) {
27
38
  var dataMap = (0, _d3v.group)(data, function (d) {
28
39
  return d.x;
@@ -43,7 +54,7 @@ var stackData = function stackData(data, series) {
43
54
  if (d && d.y !== undefined && !isNaN(d.y)) {
44
55
  var currentStack = (0, _utils.getCurrentStack)(stack, stacks);
45
56
 
46
- if (stack && currentStack) {
57
+ if (stack && currentStack && currentStack.stack) {
47
58
  if (d.y >= 0) {
48
59
  currentStack.positive += d.y;
49
60
  arr.push(currentStack.positive);
@@ -61,7 +72,7 @@ var stackData = function stackData(data, series) {
61
72
  max = Math.max.apply(Math, arr.concat([max]));
62
73
  });
63
74
  dataMap.clear();
64
- return [min || 0, max == undefined ? (min || 0) + 100 : max];
75
+ return [extentRange(min || 0, "min"), extentRange(max == undefined ? (min || 0) + 100 : max, "max")];
65
76
  };
66
77
  /**
67
78
  * 计算轴的domain
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyv/charts",
3
- "version": "1.5.27",
3
+ "version": "1.5.29",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -254,7 +254,7 @@ const Component = memo(
254
254
  },
255
255
  label,
256
256
  legend: { formatter = legendFormatter, ...legend },
257
- animation: { ringDuration, labelDuration },
257
+ animation: { ringDuration, labelDuration } = {},
258
258
  margin: { marginLeft, marginTop },
259
259
  },
260
260
  fan: {
@@ -8,13 +8,21 @@ import {
8
8
  getCurrentStack,
9
9
  } from "../utils";
10
10
 
11
+ //扩张系数,用于扩大数据的最大最小值范围,达到图表尽量居中显示的效果
12
+ const extentRatio = 0;
13
+ const extentRange = (value, type)=>{
14
+ if(value>=0){
15
+ return type=="min"?value*(1-extentRatio):value*(1+extentRatio);
16
+ }else{
17
+ return type=="min"?value*(1+extentRatio):value*(1-extentRatio);
18
+ }
19
+ }
11
20
  const stackData = (data, series) => {
12
21
  const dataMap = group(data, (d) => d.x);
13
22
  const stacks = getStacks(series);
14
23
 
15
24
  let min, max;
16
25
  max = min = d3Min(data, (d) => d.y);
17
-
18
26
  dataMap.forEach((value) => {
19
27
  const arr = [];
20
28
  resetStacks(stacks);
@@ -23,7 +31,7 @@ const stackData = (data, series) => {
23
31
  const stack = series.get(d.s);
24
32
  if (d && d.y !== undefined && !isNaN(d.y)) {
25
33
  const currentStack = getCurrentStack(stack, stacks);
26
- if (stack && currentStack) {
34
+ if (stack && currentStack && currentStack.stack) {
27
35
  if (d.y >= 0) {
28
36
  currentStack.positive += d.y;
29
37
  arr.push(currentStack.positive);
@@ -40,7 +48,7 @@ const stackData = (data, series) => {
40
48
  max = Math.max(...arr, max);
41
49
  });
42
50
  dataMap.clear();
43
- return [min || 0, max==undefined?(min || 0) + 100:max];
51
+ return [extentRange(min || 0, "min"), extentRange(max==undefined?(min || 0) + 100:max, "max")];
44
52
  };
45
53
 
46
54
  /**