From 14b923dfb8095c3d2423df9332522718dc7432ba Mon Sep 17 00:00:00 2001 From: MiniPear Date: Thu, 6 Jul 2023 17:22:55 +0800 Subject: [PATCH 1/2] fix(slider): with annotation --- .../step0.png | Bin 0 -> 33367 bytes .../step1.png | Bin 0 -> 32112 bytes .../countries-annotation-slider-filter.ts | 86 ++++++++++++++++++ __tests__/plots/interaction/index.ts | 1 + src/interaction/brushFilter.ts | 5 +- src/interaction/sliderFilter.ts | 9 +- 6 files changed, 95 insertions(+), 6 deletions(-) create mode 100644 __tests__/integration/snapshots/interaction/countries-annotation-slider-filter/step0.png create mode 100644 __tests__/integration/snapshots/interaction/countries-annotation-slider-filter/step1.png create mode 100644 __tests__/plots/interaction/countries-annotation-slider-filter.ts diff --git a/__tests__/integration/snapshots/interaction/countries-annotation-slider-filter/step0.png b/__tests__/integration/snapshots/interaction/countries-annotation-slider-filter/step0.png new file mode 100644 index 0000000000000000000000000000000000000000..810449f35e7c43e7f0a0baab7daccca49a38473f GIT binary patch literal 33367 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 ozE=fdhkWq=N1a&My;1z0_6vm+h@OYEPzT6 (d.region === '1' ? '#d8d0c0' : '#a3dda1'), + }, + legend: false, + tooltip: false, + }, + { + type: 'point', + encode: { + x: 'change in female rate', + y: 'change in male rate', + size: 'pop', + color: 'continent', + shape: 'point', + }, + scale: { + color: { + range: ['#ffd500', '#82cab2', '#193442', '#d18768', '#7e827a'], + }, + x: { nice: true }, + y: { nice: true }, + size: { range: [4, 30] }, + }, + legend: { size: false }, + style: { stroke: '#bbb', fillOpacity: 0.8 }, + axis: { x: { title: 'Female' }, y: { title: 'Male' } }, + slider: { + x: { labelFormatter: (d) => d.toFixed(1) }, + y: { labelFormatter: (d) => d.toFixed(1) }, + }, + tooltip: { + items: [ + { channel: 'x', valueFormatter: '.1f' }, + { channel: 'y', valueFormatter: '.1f' }, + ], + }, + }, + ], + }; +} + +countriesAnnotationSliderFilter.maxError = 600; + +countriesAnnotationSliderFilter.steps = ({ canvas }) => { + const { document } = canvas; + const sliders = document.getElementsByClassName(SLIDER_CLASS_NAME); + const [s1, s2] = sliders; + return [ + { + changeState: () => { + dispatchValueChange(s1); + }, + }, + { + changeState: () => { + dispatchValueChange(s2); + }, + }, + ]; +}; diff --git a/__tests__/plots/interaction/index.ts b/__tests__/plots/interaction/index.ts index cb785debc8..4267ecaff8 100644 --- a/__tests__/plots/interaction/index.ts +++ b/__tests__/plots/interaction/index.ts @@ -62,3 +62,4 @@ export { penguinsPointBrushHandleStyle } from './penguins-point-brush-handle-sty export { penguinsPointBrushHandleCustom } from './penguins-point-brush-handle-custom'; export { unemploymentChoropleth } from './unemployment-choropleth'; export { weatherLineLegendMark } from './weather-line-legend-mark'; +export { countriesAnnotationSliderFilter } from './countries-annotation-slider-filter'; diff --git a/src/interaction/brushFilter.ts b/src/interaction/brushFilter.ts index f21a942ac9..38f47cc4e0 100644 --- a/src/interaction/brushFilter.ts +++ b/src/interaction/brushFilter.ts @@ -122,9 +122,10 @@ export function BrushFilter({ hideX = true, hideY = true, ...rest }) { }, mark, { + // Set nice to false to avoid modify domain. scale: { - x: { domain: domainX }, - y: { domain: domainY }, + x: { domain: domainX, nice: false }, + y: { domain: domainY, nice: false }, }, }, ), diff --git a/src/interaction/sliderFilter.ts b/src/interaction/sliderFilter.ts index 58cd8b5160..3a56177419 100644 --- a/src/interaction/sliderFilter.ts +++ b/src/interaction/sliderFilter.ts @@ -21,10 +21,10 @@ function filterDataByDomain(options, scaleOptions, prefix, hasState = false) { scale: scaleOptions, // Don't rerender sliders. [prefix]: { - ...(mark[prefix].x && { + ...(mark[prefix]?.x && { x: { preserve: true, ...(hasState && { ratio: null }) }, }), - ...(mark[prefix].y && { + ...(mark[prefix]?.y && { y: { preserve: true, ...(hasState && { ratio: null }) }, }), }, @@ -142,8 +142,9 @@ export function SliderFilter({ const newOptions = filterDataByDomain( options, { - [channel0]: { domain: domain0 }, - [channel1]: { domain: domain1 }, + // Set nice to false to avoid modify domain. + [channel0]: { domain: domain0, nice: false }, + [channel1]: { domain: domain1, nice: false }, }, prefix, hasState, From 64c984cdf60f904bbd757961dfe52da00006ca9c Mon Sep 17 00:00:00 2001 From: MiniPear Date: Thu, 6 Jul 2023 17:48:08 +0800 Subject: [PATCH 2/2] docs: update demo --- .../countries-annotation-slider-filter.ts | 4 ---- .../annotation/line/demo/quadrant-scatter.ts | 23 +++++++++---------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/__tests__/plots/interaction/countries-annotation-slider-filter.ts b/__tests__/plots/interaction/countries-annotation-slider-filter.ts index 192405e587..87ce626e0e 100644 --- a/__tests__/plots/interaction/countries-annotation-slider-filter.ts +++ b/__tests__/plots/interaction/countries-annotation-slider-filter.ts @@ -27,8 +27,6 @@ export function countriesAnnotationSliderFilter(): G2Spec { fillOpacity: 0.2, fill: (d) => (d.region === '1' ? '#d8d0c0' : '#a3dda1'), }, - legend: false, - tooltip: false, }, { type: 'point', @@ -65,8 +63,6 @@ export function countriesAnnotationSliderFilter(): G2Spec { }; } -countriesAnnotationSliderFilter.maxError = 600; - countriesAnnotationSliderFilter.steps = ({ canvas }) => { const { document } = canvas; const sliders = document.getElementsByClassName(SLIDER_CLASS_NAME); diff --git a/site/examples/annotation/line/demo/quadrant-scatter.ts b/site/examples/annotation/line/demo/quadrant-scatter.ts index a504c9d91a..73c367ef94 100644 --- a/site/examples/annotation/line/demo/quadrant-scatter.ts +++ b/site/examples/annotation/line/demo/quadrant-scatter.ts @@ -3,12 +3,16 @@ import { Chart } from '@antv/g2'; const chart = new Chart({ container: 'container', theme: 'classic', + padding: 'auto', }); chart.data({ type: 'fetch', value: 'https://gw.alipayobjects.com/os/bmw-prod/0b37279d-1674-42b4-b285-29683747ad9a.json', + transform: [ + { type: 'filter', callback: (d) => d['change in male rate'] !== 'NA' }, + ], }); chart.lineX().data([0]); @@ -24,15 +28,9 @@ chart ]) .encode('x', 'x') .encode('y', 'y') - .encode('color', 'region') - .scale('color', { - range: ['#d8d0c0', '#a3dda1'], - independent: true, - }) + .style('fill', (d) => (d.region === '1' ? '#d8d0c0' : '#a3dda1')) .style('fillOpacity', 0.2) - .animate(false) - .legend(false) - .tooltip(false); + .animate('enter', { type: 'fadeIn' }); chart .point() @@ -44,13 +42,14 @@ chart .scale('color', { range: ['#ffd500', '#82cab2', '#193442', '#d18768', '#7e827a'], }) - .axis('x', { title: false }) - .axis('y', { title: false }) - .scale('x', { domain: [-25, 5] }) - .scale('y', { domain: [-30, 20] }) .scale('size', { range: [4, 30] }) .style('stroke', '#bbb') .style('fillOpacity', 0.8) + .axis('x', { title: 'Female' }) + .axis('y', { title: 'Male' }) + .legend('size', false) + .slider('x', { labelFormatter: (d) => d.toFixed(1) }) + .slider('y', { labelFormatter: (d) => d.toFixed(1) }) .tooltip([ { channel: 'x', valueFormatter: '.1f' }, { channel: 'y', valueFormatter: '.1f' },