Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/rounded-bars-skill-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@visactor/vseed': minor
---

Add `cornerRadius` to bar, column, histogram, dual-axis, and racing charts, with per-mark rounding enabled by default to support smooth updates.

`stackCornerRadius` is now a boolean switch for whole-stack clipping. Move numeric or array values previously assigned to `stackCornerRadius` into `cornerRadius`, and set `stackCornerRadius: true` when whole-stack rounding is required. In that mode, `cornerRadius` takes precedence over `barStyle.barRadius`.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ VBI provides reusable packages and agent skills for AI-oriented business intelli
| Name | Description | Test Coverage | Npm Version |
| :------------------------------------------------------------- | :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |
| [vbi](https://visactor.github.io/VBI) | HeadlessBI Interface | [![Coverage](https://img.shields.io/badge/Coverage-100%25-brightgreen.svg)](https://github.com/VisActor/VBI/actions/workflows/coverage.yml) | [![npm Version](https://img.shields.io/npm/v/@visactor/vbi.svg)](https://www.npmjs.com/package/@visactor/vbi) |
| [vseed](https://visactor.github.io/VBI/vseed/guide/quickStart) | Visualization Engine | [![Coverage](https://img.shields.io/badge/Coverage-91.45%25-brightgreen.svg)](https://github.com/VisActor/VSeed/actions/workflows/coverage.yml) | [![npm Version](https://img.shields.io/npm/v/@visactor/vseed.svg)](https://www.npmjs.com/package/@visactor/vseed) |
| [vseed](https://visactor.github.io/VBI/vseed/guide/quickStart) | Visualization Engine | [![Coverage](https://img.shields.io/badge/Coverage-91.49%25-brightgreen.svg)](https://github.com/VisActor/VSeed/actions/workflows/coverage.yml) | [![npm Version](https://img.shields.io/npm/v/@visactor/vseed.svg)](https://www.npmjs.com/package/@visactor/vseed) |
| [vquery](https://visactor.github.io/VBI/VQuery) | Lightweight Query Engine | [![Coverage](https://img.shields.io/badge/Coverage-100.00%25-brightgreen.svg)](https://github.com/VisActor/VSeed/actions/workflows/coverage.yml) | [![npm Version](https://img.shields.io/npm/v/@visactor/vquery.svg)](https://www.npmjs.com/package/@visactor/vquery) |
5 changes: 5 additions & 0 deletions apps/website/docs/zh-CN/vseed/examples/features/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@
"name": "color",
"label": "Color"
},
{
"type": "file",
"name": "cornerRadius",
"label": "CornerRadius"
},
{
"type": "file",
"name": "dataset",
Expand Down
123 changes: 123 additions & 0 deletions apps/website/docs/zh-CN/vseed/examples/features/cornerRadius.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# CornerRadius

## 单个图元圆角

圆角默认值为 0,不启用圆角。显式设置 cornerRadius 后,对每个图元单独绘制圆角;默认不启用整组 clip,适合平滑的更新动画。

```tsx preview
import { VSeedRender } from '@components'

export default () => {
const vseedConfig = {
"chartType": "column",
"cornerRadius": [
10,
10,
0,
0
],
"dataset": [
{
"category": "A",
"series": "East",
"value": 10
},
{
"category": "A",
"series": "West",
"value": 20
},
{
"category": "B",
"series": "East",
"value": -10
},
{
"category": "B",
"series": "West",
"value": -20
}
],
"dimensions": [
{
"id": "category"
},
{
"id": "series"
}
],
"measures": [
{
"id": "value"
}
],
"barStyle": {
"barBorderWidth": 0
}
}

return <VSeedRender vseed={vseedConfig} />
}
```

## 整组堆叠圆角

cornerRadius 设置圆角值,stackCornerRadius: true 切换为整组堆叠圆角,通过 clip 裁剪整组,堆叠内部保持直角。开启 stackCornerRadius 会引起更新动画重叠的 bug,依赖 VChart 修复。

```tsx preview
import { VSeedRender } from '@components'

export default () => {
const vseedConfig = {
"chartType": "column",
"cornerRadius": [
10,
10,
0,
0
],
"stackCornerRadius": true,
"dataset": [
{
"category": "A",
"series": "East",
"value": 10
},
{
"category": "A",
"series": "West",
"value": 20
},
{
"category": "B",
"series": "East",
"value": -10
},
{
"category": "B",
"series": "West",
"value": -20
}
],
"dimensions": [
{
"id": "category"
},
{
"id": "series"
}
],
"measures": [
{
"id": "value"
}
],
"barStyle": {
"barBorderWidth": 0
}
}

return <VSeedRender vseed={vseedConfig} />
}
```

24 changes: 22 additions & 2 deletions apps/website/docs/zh-CN/vseed/option/bar.md
Original file line number Diff line number Diff line change
Expand Up @@ -2767,15 +2767,35 @@ Y轴动画配置
:::


## stackCornerRadius
## cornerRadius

**Type:** `number | number[] | undefined`

:::note{title=描述}
条形图 堆叠圆角
柱图圆角的数值或数组,默认 0,不启用圆角。当 stackCornerRadius 为 false 时,每个图元独立绘制圆角;为 true 时,通过 clip 裁剪整组堆叠柱体。数值设置所有角,数组按左上、右上、右下、左下排列,数据为负值时圆角方向自动翻转。设为 0 可关闭。barStyle.barRadius 可覆盖单个图元的圆角;stackCornerRadius 为 true 时,整组圆角统一使用 cornerRadius,不受 barStyle.barRadius 影响。

:::

**示例**
[4, 4, 0, 0]




## stackCornerRadius

**Type:** `boolean | undefined`

:::note{title=描述}
是否使用整组堆叠圆角,默认 false。设为 true 时,通过 clip 裁剪整组柱体,圆角值统一读取 cornerRadius,保留堆叠内部的直角连接,并优先于 barStyle.barRadius(包括条件样式)。设为 false 时,cornerRadius 对每个图元单独生效。注意:开启 stackCornerRadius 会引起更新动画重叠的 bug,整组 clip 裁剪路径与图元更新动画不同步,依赖 VChart 修复;需要平滑更新动画时建议保持 false。

:::

**示例**
true




## barMaxWidth

Expand Down
24 changes: 22 additions & 2 deletions apps/website/docs/zh-CN/vseed/option/barParallel.md
Original file line number Diff line number Diff line change
Expand Up @@ -2759,15 +2759,35 @@ Y轴动画配置
:::


## stackCornerRadius
## cornerRadius

**Type:** `number | number[] | undefined`

:::note{title=描述}
条形图 堆叠圆角
柱图圆角的数值或数组,默认 0,不启用圆角。当 stackCornerRadius 为 false 时,每个图元独立绘制圆角;为 true 时,通过 clip 裁剪整组堆叠柱体。数值设置所有角,数组按左上、右上、右下、左下排列,数据为负值时圆角方向自动翻转。设为 0 可关闭。barStyle.barRadius 可覆盖单个图元的圆角;stackCornerRadius 为 true 时,整组圆角统一使用 cornerRadius,不受 barStyle.barRadius 影响。

:::

**示例**
[4, 4, 0, 0]




## stackCornerRadius

**Type:** `boolean | undefined`

:::note{title=描述}
是否使用整组堆叠圆角,默认 false。设为 true 时,通过 clip 裁剪整组柱体,圆角值统一读取 cornerRadius,保留堆叠内部的直角连接,并优先于 barStyle.barRadius(包括条件样式)。设为 false 时,cornerRadius 对每个图元单独生效。注意:开启 stackCornerRadius 会引起更新动画重叠的 bug,整组 clip 裁剪路径与图元更新动画不同步,依赖 VChart 修复;需要平滑更新动画时建议保持 false。

:::

**示例**
true




## barMaxWidth

Expand Down
24 changes: 22 additions & 2 deletions apps/website/docs/zh-CN/vseed/option/barPercent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2759,15 +2759,35 @@ Y轴动画配置
:::


## stackCornerRadius
## cornerRadius

**Type:** `number | number[] | undefined`

:::note{title=描述}
条形图 堆叠圆角
柱图圆角的数值或数组,默认 0,不启用圆角。当 stackCornerRadius 为 false 时,每个图元独立绘制圆角;为 true 时,通过 clip 裁剪整组堆叠柱体。数值设置所有角,数组按左上、右上、右下、左下排列,数据为负值时圆角方向自动翻转。设为 0 可关闭。barStyle.barRadius 可覆盖单个图元的圆角;stackCornerRadius 为 true 时,整组圆角统一使用 cornerRadius,不受 barStyle.barRadius 影响。

:::

**示例**
[4, 4, 0, 0]




## stackCornerRadius

**Type:** `boolean | undefined`

:::note{title=描述}
是否使用整组堆叠圆角,默认 false。设为 true 时,通过 clip 裁剪整组柱体,圆角值统一读取 cornerRadius,保留堆叠内部的直角连接,并优先于 barStyle.barRadius(包括条件样式)。设为 false 时,cornerRadius 对每个图元单独生效。注意:开启 stackCornerRadius 会引起更新动画重叠的 bug,整组 clip 裁剪路径与图元更新动画不同步,依赖 VChart 修复;需要平滑更新动画时建议保持 false。

:::

**示例**
true




## barMaxWidth

Expand Down
24 changes: 22 additions & 2 deletions apps/website/docs/zh-CN/vseed/option/column.md
Original file line number Diff line number Diff line change
Expand Up @@ -2929,15 +2929,35 @@ order:'asc'
:::


## stackCornerRadius
## cornerRadius

**Type:** `number | number[] | undefined`

:::note{title=描述}
柱状图 堆叠圆角
柱图圆角的数值或数组,默认 0,不启用圆角。当 stackCornerRadius 为 false 时,每个图元独立绘制圆角;为 true 时,通过 clip 裁剪整组堆叠柱体。数值设置所有角,数组按左上、右上、右下、左下排列,数据为负值时圆角方向自动翻转。设为 0 可关闭。barStyle.barRadius 可覆盖单个图元的圆角;stackCornerRadius 为 true 时,整组圆角统一使用 cornerRadius,不受 barStyle.barRadius 影响。

:::

**示例**
[4, 4, 0, 0]




## stackCornerRadius

**Type:** `boolean | undefined`

:::note{title=描述}
是否使用整组堆叠圆角,默认 false。设为 true 时,通过 clip 裁剪整组柱体,圆角值统一读取 cornerRadius,保留堆叠内部的直角连接,并优先于 barStyle.barRadius(包括条件样式)。设为 false 时,cornerRadius 对每个图元单独生效。注意:开启 stackCornerRadius 会引起更新动画重叠的 bug,整组 clip 裁剪路径与图元更新动画不同步,依赖 VChart 修复;需要平滑更新动画时建议保持 false。

:::

**示例**
true




## barMaxWidth

Expand Down
24 changes: 22 additions & 2 deletions apps/website/docs/zh-CN/vseed/option/columnParallel.md
Original file line number Diff line number Diff line change
Expand Up @@ -2755,15 +2755,35 @@ Y轴动画配置
:::


## stackCornerRadius
## cornerRadius

**Type:** `number | number[] | undefined`

:::note{title=描述}
柱状图 堆叠圆角
柱图圆角的数值或数组,默认 0,不启用圆角。当 stackCornerRadius 为 false 时,每个图元独立绘制圆角;为 true 时,通过 clip 裁剪整组堆叠柱体。数值设置所有角,数组按左上、右上、右下、左下排列,数据为负值时圆角方向自动翻转。设为 0 可关闭。barStyle.barRadius 可覆盖单个图元的圆角;stackCornerRadius 为 true 时,整组圆角统一使用 cornerRadius,不受 barStyle.barRadius 影响。

:::

**示例**
[4, 4, 0, 0]




## stackCornerRadius

**Type:** `boolean | undefined`

:::note{title=描述}
是否使用整组堆叠圆角,默认 false。设为 true 时,通过 clip 裁剪整组柱体,圆角值统一读取 cornerRadius,保留堆叠内部的直角连接,并优先于 barStyle.barRadius(包括条件样式)。设为 false 时,cornerRadius 对每个图元单独生效。注意:开启 stackCornerRadius 会引起更新动画重叠的 bug,整组 clip 裁剪路径与图元更新动画不同步,依赖 VChart 修复;需要平滑更新动画时建议保持 false。

:::

**示例**
true




## barMaxWidth

Expand Down
24 changes: 22 additions & 2 deletions apps/website/docs/zh-CN/vseed/option/columnPercent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2771,15 +2771,35 @@ Y轴动画配置
:::


## stackCornerRadius
## cornerRadius

**Type:** `number | number[] | undefined`

:::note{title=描述}
并列柱状图 堆叠圆角
柱图圆角的数值或数组,默认 0,不启用圆角。当 stackCornerRadius 为 false 时,每个图元独立绘制圆角;为 true 时,通过 clip 裁剪整组堆叠柱体。数值设置所有角,数组按左上、右上、右下、左下排列,数据为负值时圆角方向自动翻转。设为 0 可关闭。barStyle.barRadius 可覆盖单个图元的圆角;stackCornerRadius 为 true 时,整组圆角统一使用 cornerRadius,不受 barStyle.barRadius 影响。

:::

**示例**
[4, 4, 0, 0]




## stackCornerRadius

**Type:** `boolean | undefined`

:::note{title=描述}
是否使用整组堆叠圆角,默认 false。设为 true 时,通过 clip 裁剪整组柱体,圆角值统一读取 cornerRadius,保留堆叠内部的直角连接,并优先于 barStyle.barRadius(包括条件样式)。设为 false 时,cornerRadius 对每个图元单独生效。注意:开启 stackCornerRadius 会引起更新动画重叠的 bug,整组 clip 裁剪路径与图元更新动画不同步,依赖 VChart 修复;需要平滑更新动画时建议保持 false。

:::

**示例**
true




## barMaxWidth

Expand Down
Loading
Loading