Skip to content

Commit 425f9bf

Browse files
authored
Merge pull request #219 from VisActor/fix/pie-legend
Fix/pie legend
2 parents af95ed5 + efa2711 commit 425f9bf

File tree

331 files changed

+16520
-17771
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

331 files changed

+16520
-17771
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
VSeed, an elegant data composer, transforming complexity into simplicity.
44

55
[![npm Version](https://img.shields.io/npm/v/@visactor/vseed.svg)](https://www.npmjs.com/package/@visactor/vseed)
6-
[![Coverage](https://img.shields.io/badge/Coverage-90.46%25-brightgreen.svg)](https://github.com/VisActor/VSeed/actions/workflows/coverage.yml)
6+
[![Coverage](https://img.shields.io/badge/Coverage-90.49%25-brightgreen.svg)](https://github.com/VisActor/VSeed/actions/workflows/coverage.yml)
77
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/VisActor/VSeed)
88
[![Changesets](https://github.com/VisActor/VSeed/actions/workflows/changesets.yml/badge.svg)](https://github.com/VisActor/VSeed/actions/workflows/changesets.yml)
99
[![Deploy to GitHub Pages](https://github.com/VisActor/VSeed/actions/workflows/deploy.yml/badge.svg)](https://visactor.github.io/VSeed/)

packages/vseed/src/pipeline/advanced/chart/pipeline/donut.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ export const donutAdvancedPipeline: AdvancedPipeline = [
2525
defaultMeasureId,
2626

2727
encodingAdapter(
28-
[defaultEncodingForPie, buildMeasures],
29-
[encodingForPie, buildMeasures, pickMeasuresForReshape(['tooltip', 'label', 'color']), pickDimensionsForReshape],
28+
[buildMeasures, defaultEncodingForPie],
29+
[buildMeasures, encodingForPie, pickMeasuresForReshape(['tooltip', 'label', 'color']), pickDimensionsForReshape],
3030
),
3131
pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),
3232

packages/vseed/src/pipeline/advanced/chart/pipeline/pie.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ export const pieAdvancedPipeline: AdvancedPipeline = [
2525
defaultMeasureId,
2626

2727
encodingAdapter(
28-
[defaultEncodingForPie, buildMeasures],
29-
[encodingForPie, buildMeasures, pickMeasuresForReshape(['tooltip', 'label', 'color']), pickDimensionsForReshape],
28+
[buildMeasures, defaultEncodingForPie],
29+
[buildMeasures, encodingForPie, pickMeasuresForReshape(['tooltip', 'label', 'color']), pickDimensionsForReshape],
3030
),
3131
pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),
3232

packages/vseed/src/pipeline/advanced/chart/pipes/encoding/pie.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { unique } from 'remeda'
22
import { MeasureId } from 'src/dataReshape'
33
import { findAllMeasures } from 'src/pipeline/utils'
4-
import type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'
4+
import type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, MeasureGroup, Measures } from 'src/types'
55
import { addColorToEncoding } from './color'
66

77
export const defaultEncodingForPie: AdvancedPipe = (advancedVSeed) => {
@@ -22,7 +22,12 @@ export const encodingForPie: AdvancedPipe = (advancedVSeed) => {
2222
const encoding: Encoding = {}
2323

2424
if (hasDimensionEncoding) {
25-
generateDimensionEncoding(dimensions, encoding, measures.length > 1)
25+
const hasMultiMeaureInSingleView =
26+
(measures.length > 1 && vseedMeasures.every((m) => !(m as MeasureGroup).children)) ||
27+
vseedMeasures.some((m) => {
28+
return m && (m as MeasureGroup).children && (m as MeasureGroup).children!.length > 1
29+
})
30+
generateDimensionEncoding(dimensions, encoding, hasMultiMeaureInSingleView)
2631
} else {
2732
generateDefaultDimensionEncoding(dimensions, encoding)
2833
}

packages/vseed/src/pipeline/spec/chart/pipeline/dualAxis.ts

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ import {
5353
pivotAxisStyle,
5454
dimensionLinkage,
5555
annotationPointOfDualAxis,
56+
barStyleFilter,
57+
pointStyleFilter,
58+
lineStyleFilter,
59+
areaStyleFilter,
60+
tooltipDualAxis,
5661
} from '../pipes'
5762

5863
const dualAxis: VChartSpecPipeline = [
@@ -69,11 +74,11 @@ const dualAxis: VChartSpecPipeline = [
6974
barGapInGroup,
7075
stackCornerRadius,
7176

72-
colorBarStyleFill(barStyle),
73-
colorPointStyleFill(pointStyle),
74-
pointStateDimensionHover,
75-
colorLineStyleFill(lineStyle),
76-
colorAreaStyleFill(areaStyle),
77+
barStyleFilter(colorBarStyleFill(barStyle)),
78+
pointStyleFilter(colorPointStyleFill(pointStyle)),
79+
pointStyleFilter(pointStateDimensionHover),
80+
lineStyleFilter(colorLineStyleFill(lineStyle)),
81+
areaStyleFilter(colorAreaStyleFill(areaStyle)),
7782
],
7883
[
7984
initDualAxisSecondary,
@@ -87,11 +92,11 @@ const dualAxis: VChartSpecPipeline = [
8792
barGapInGroup,
8893
stackCornerRadius,
8994

90-
colorBarStyleFill(barStyle),
91-
colorPointStyleFill(pointStyle),
92-
pointStateDimensionHover,
93-
colorLineStyleFill(lineStyle),
94-
colorAreaStyleFill(areaStyle),
95+
barStyleFilter(colorBarStyleFill(barStyle)),
96+
pointStyleFilter(colorPointStyleFill(pointStyle)),
97+
pointStyleFilter(pointStateDimensionHover),
98+
lineStyleFilter(colorLineStyleFill(lineStyle)),
99+
areaStyleFilter(colorAreaStyleFill(areaStyle)),
95100
],
96101
),
97102
xBand,
@@ -108,6 +113,8 @@ const dualAxis: VChartSpecPipeline = [
108113
annotationVerticalLine,
109114
annotationHorizontalLine,
110115
annotationAreaBand,
116+
117+
tooltipDualAxis,
111118
]
112119

113120
const pivotDualAxis: PivotChartSpecPipeline = [
@@ -164,6 +171,8 @@ const pivotDualAxis: PivotChartSpecPipeline = [
164171
annotationVerticalLine,
165172
annotationHorizontalLine,
166173
annotationAreaBand,
174+
175+
tooltipDualAxis,
167176
]),
168177
pivotRowDimensions,
169178
pivotColumnDimensions,

packages/vseed/src/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export const horizontalCrosshairRect: VChartSpecPipe = (spec, context) => {
2828
type: 'rect',
2929
style: {
3030
lineWidth: 0,
31-
opacity: 0.2,
31+
opacity: 0.26,
3232
fill: rectColor,
3333
},
3434
},

packages/vseed/src/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export const verticalCrosshairRect: VChartSpecPipe = (spec, context) => {
2828
type: 'rect',
2929
style: {
3030
lineWidth: 0,
31-
opacity: 0.2,
31+
opacity: 0.26,
3232
fill: rectColor,
3333
},
3434
},

packages/vseed/src/pipeline/spec/chart/pipes/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ export * from './size'
1818
export * from './barWidth'
1919
export * from './regressionLine'
2020
export * from './region'
21+
export * from './pipeFilter'
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { IAreaChartSpec } from '@visactor/vchart'
2+
import type { VChartSpecPipe } from 'src/types'
3+
4+
export const areaStyleFilter = (pipe: VChartSpecPipe): VChartSpecPipe => {
5+
return (spec, context) => {
6+
if (spec.type === 'area') {
7+
return pipe(spec, context) as IAreaChartSpec
8+
}
9+
10+
return spec
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { IBarChartSpec } from '@visactor/vchart'
2+
import type { VChartSpecPipe } from 'src/types'
3+
4+
export const barStyleFilter = (pipe: VChartSpecPipe): VChartSpecPipe => {
5+
return (spec, context) => {
6+
if (spec.type === 'bar') {
7+
return pipe(spec, context) as IBarChartSpec
8+
}
9+
10+
return spec
11+
}
12+
}

0 commit comments

Comments
 (0)