Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
ecd2ff0
feat: init matrix coordinate
Ovilia Apr 9, 2024
780dd4b
feat: render a rect for matrix coordinate
Ovilia Apr 11, 2024
3c1dcb4
feat(matrix): basic table labels
Ovilia Apr 15, 2024
ce4530f
feat(matrix): correct cell info and draw table borders
Ovilia Apr 17, 2024
55883fc
feat(matrix): render cells border and text
Ovilia Apr 18, 2024
ef9c3bd
feat(matrix): matrix with heatmap
Ovilia Apr 22, 2024
0b90a95
test(matrix): add test for pie
Ovilia Apr 25, 2024
ce5fa43
feat(matrix): pie series with matrix
Ovilia Apr 26, 2024
9b1c9a0
test(matrix): test case for pie series
Ovilia Apr 28, 2024
859ab1d
feat(matrix): graph, scatter, custom
Ovilia Apr 29, 2024
0daaae1
test(matrix): update test cases
Ovilia May 8, 2024
e510f3e
fix(matrix): fix lint errors
Ovilia May 9, 2024
0b3f14b
fix(matrix): fix import
Ovilia May 11, 2024
9d1b48d
test(matrix): more applications
Ovilia May 11, 2024
6e8c626
test(matrix): fix test cases
Ovilia May 11, 2024
b0529f9
feat(matrix): support convertToPixel and add a case for Periodic Table
Ovilia May 11, 2024
8bedb78
feat(matrix): support darkMode, headers can be hidden
Ovilia May 14, 2024
ab3efd3
fix(matrix): remove unnecessary field
Ovilia May 15, 2024
6fe5d69
fix(matrix): improve code
Ovilia Jun 3, 2024
31295e1
chore(matrix): update package.json
Ovilia Jun 3, 2024
6bcfe10
test: sync test helper.
100pah May 24, 2025
139206b
test: manually sync visual test updates.
100pah May 24, 2025
8ddd15d
feat(visualMap): support specify `seriesId` on visualMap option; prev…
100pah May 26, 2025
6beeef2
feat(matrix & calendar): (1). Support matrix col/row size option. (2)…
100pah May 30, 2025
7e49f51
fix(matrix): fix test case and typo
100pah May 31, 2025
418b818
Merge branch 'v6' into feat-matrix-enhance
100pah Jun 1, 2025
13cf562
refactor(layout): unify margin/padding apply util.
100pah Jun 1, 2025
a4ac203
feat(matrix): (1). Support sankey, tree, treemap layout on matrix and…
100pah Jun 1, 2025
5d555a2
feat(matrix): (1) Add lineOverflow to long text in cells. (2) Fix tex…
100pah Jun 2, 2025
a43e38d
chore: merge branch 'v6' into 'feat-matrix'
plainheart Jun 4, 2025
a09d775
chore: merge branch 'feat-matrix' into 'feat-matrix-enhance'
plainheart Jun 4, 2025
31cf386
tweak(series data): Add validator to hint incorrect option.
100pah Jun 4, 2025
3123a3a
test(matrix): Add an application case.
100pah Jun 4, 2025
4a978a0
feat(matrix): fix treemap breadcrumb layout in matrix.
100pah Jun 4, 2025
29230b8
Merge remote-tracking branch 'origin/v6' into feat-matrix-enhance
100pah Jun 8, 2025
59e8c64
feat(matrix): change the definition of cell.size and levelSize - base…
100pah Jun 9, 2025
1a3e819
feat(matrix): (1) Fix text truncate area. (2) Remove extra padding, u…
100pah Jun 9, 2025
9b3f71e
test(matrix): Add visual test (partial, not complete)
100pah Jun 9, 2025
069e686
test: temporarily change zrender dep.
100pah Jun 9, 2025
e48b8ba
Merge pull request #21005 from apache/feat-matrix-enhance
100pah Jun 9, 2025
09cdac9
feat(matrix): Add clipPath for text.
100pah Jun 9, 2025
469ad35
fix(test infra): fix test bug introduced in 8005bc3d41a24d06e7508d47e…
100pah Jun 9, 2025
1a9faac
chore: fix comment and TS type error.
100pah Jun 10, 2025
b2ac493
feat(roam): Change cursor style to indicate the draggable area. (effe…
100pah Jun 10, 2025
10b4528
test(infra): testHelper support multiple inner range in select input.
100pah Jun 11, 2025
1465e18
feat(matrix): use tokens for color
Ovilia Jun 12, 2025
72cf70d
test: Support suffix to range input
100pah Jun 12, 2025
0b9b08a
test: Add resize cb.
100pah Jun 12, 2025
0661c79
fix(graph): #16904 introcuded percentage string here, such as '33%'. …
100pah Jun 12, 2025
237badb
feat: (1) Support `preserveAspect` `preserveAspectAlign` `preserveAsp…
100pah Jun 15, 2025
9ea647f
Merge branch 'feat-matrix' of github.com:apache/incubator-echarts int…
100pah Jun 15, 2025
74af455
feat(thumbnail): (1) Refactor thumbnail to a component for further ex…
100pah Jun 19, 2025
b5e06ca
fix(graph): fix NPE when triggering graphRoam action after removing.
100pah Jun 19, 2025
7323317
test(matrix): complete visual test for matrix.
100pah Jun 19, 2025
7974074
switch zrender dep to v6
100pah Jun 20, 2025
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
10 changes: 4 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@
"./lib/component/axisPointer": "./lib/component/axisPointer.js",
"./lib/component/brush": "./lib/component/brush.js",
"./lib/component/calendar": "./lib/component/calendar.js",
"./lib/component/matrix": "./lib/component/matrix.js",
"./lib/component/thumbnail": "./lib/component/thumbnail.js",
"./lib/component/dataZoom": "./lib/component/dataZoom.js",
"./lib/component/dataZoomInside": "./lib/component/dataZoomInside.js",
"./lib/component/dataZoomSelect": "./lib/component/dataZoomSelect.js",
Expand Down
92 changes: 0 additions & 92 deletions src/action/roamHelper.ts

This file was deleted.

10 changes: 6 additions & 4 deletions src/chart/bar/BarSeries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@ import SeriesData from '../../data/SeriesData';
import { BrushCommonSelectorsForSeries } from '../../component/brush/selector';
import tokens from '../../visual/tokens';

export type PolarBarLabelPosition = SeriesLabelOption['position']
| 'start' | 'insideStart' | 'middle' | 'end' | 'insideEnd';
type PolarBarLabelPositionExtra = 'start' | 'insideStart' | 'middle' | 'end' | 'insideEnd';
export type PolarBarLabelPosition = SeriesLabelOption['position'] | PolarBarLabelPositionExtra;

export type BarSeriesLabelOption = Omit<SeriesLabelOption, 'position'>
& {position?: PolarBarLabelPosition | 'outside'};
export type BarSeriesLabelOption = SeriesLabelOption<
CallbackDataParams,
{positionExtra: PolarBarLabelPositionExtra | 'outside'}
>;

export interface BarStateOption<TCbParams = never> {
itemStyle?: BarItemStyleOption<TCbParams>
Expand Down
5 changes: 3 additions & 2 deletions src/chart/bar/PictorialBarSeries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,16 @@ import {
StatesOptionMixin,
OptionDataItemObject,
DefaultEmphasisFocus,
SeriesEncodeOptionMixin
SeriesEncodeOptionMixin,
CallbackDataParams
} from '../../util/types';
import type Cartesian2D from '../../coord/cartesian/Cartesian2D';
import { inheritDefaultOption } from '../../util/component';
import tokens from '../../visual/tokens';

export interface PictorialBarStateOption {
itemStyle?: ItemStyleOption
label?: SeriesLabelOption
label?: SeriesLabelOption<CallbackDataParams, {positionExtra: 'outside'}>
}

interface PictorialBarSeriesSymbolOption {
Expand Down
25 changes: 22 additions & 3 deletions src/chart/custom/CustomSeries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,12 @@ import {
AnimationOption,
BlurScope,
CallbackDataParams,
CoordinateSystemDataLayout,
Dictionary,
DimensionLoose,
ItemStyleOption,
LabelOption,
NullUndefined,
OptionDataValue,
OrdinalRawValue,
ParsedValue,
Expand Down Expand Up @@ -303,13 +305,30 @@ export interface CustomSeriesRenderItemParamsCoordSys {
}
export interface CustomSeriesRenderItemCoordinateSystemAPI {
coord(
data: OptionDataValue | OptionDataValue[],
clamp?: boolean
// @see `CoordinateSystemDataCoord`
data: (OptionDataValue | NullUndefined)
| (OptionDataValue | NullUndefined)[]
| (OptionDataValue | OptionDataValue[] | NullUndefined)[],
// Some coord sys may support `clamp?: boolean` there.
// Can also be an `{xxx?: ...}` here.
opt?: unknown
): number[];
size?(
// Represents a range, rather than a absolute value.
// e.g., `dataSize: [5, 100]` represents
// data range `5` in x and data range `100` in y.
dataSize: OptionDataValue | OptionDataValue[],
// Represents a data point, based on which to calculate size.
// Some axis, such as logarithm, size varies in different points.
dataItem?: OptionDataValue | OptionDataValue[]
): number | number[];
layout?(
// @see `CoordinateSystemDataCoord`
data: (OptionDataValue | NullUndefined)
| (OptionDataValue | NullUndefined)[]
| (OptionDataValue | OptionDataValue[] | NullUndefined)[],
opt?: unknown
): CoordinateSystemDataLayout;
}

export type WrapEncodeDefRet = Dictionary<number[]>;
Expand Down Expand Up @@ -396,7 +415,7 @@ export default class CustomSeriesModel extends SeriesModel<CustomSeriesOption> {
static type = 'series.custom';
readonly type = CustomSeriesModel.type;

static dependencies = ['grid', 'polar', 'geo', 'singleAxis', 'calendar'];
static dependencies = ['grid', 'polar', 'geo', 'singleAxis', 'calendar', 'matrix'];

// preventAutoZ = true;

Expand Down
6 changes: 5 additions & 1 deletion src/chart/custom/CustomView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ import prepareGeo from '../../coord/geo/prepareCustom';
import prepareSingleAxis from '../../coord/single/prepareCustom';
import preparePolar from '../../coord/polar/prepareCustom';
import prepareCalendar from '../../coord/calendar/prepareCustom';
import prepareMatrix from '../../coord/matrix/prepareCustom';
import SeriesData, { DefaultDataVisual } from '../../data/SeriesData';
import GlobalModel from '../../model/Global';
import ExtensionAPI from '../../core/ExtensionAPI';
Expand Down Expand Up @@ -155,6 +156,8 @@ const attachedTxInfoTmp = {


/**
* FIXME: register rather than import directly, for size.
*
* To reduce total package size of each coordinate systems, the modules `prepareCustom`
* of each coordinate systems are not required by each coordinate systems directly, but
* required by the module `custom`.
Expand All @@ -170,7 +173,8 @@ const prepareCustoms: Dictionary<PrepareCustomInfo> = {
geo: prepareGeo,
single: prepareSingleAxis,
polar: preparePolar,
calendar: prepareCalendar
calendar: prepareCalendar,
matrix: prepareMatrix
};


Expand Down
1 change: 1 addition & 0 deletions src/chart/funnel/FunnelSeries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ class FunnelSeriesModel extends SeriesModel<FunnelSeriesOption> {
}

static defaultOption: FunnelSeriesOption = {
coordinateSystemUsage: 'box',
// zlevel: 0, // 一级层叠
z: 2, // 二级层叠
legendHoverLink: true,
Expand Down
6 changes: 5 additions & 1 deletion src/chart/funnel/funnelLayout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import SeriesData from '../../data/SeriesData';
import GlobalModel from '../../model/Global';
import { isFunction } from 'zrender/src/core/util';


function getSortedIndices(data: SeriesData, sort: FunnelSeriesOption['sort']) {
const valueDim = data.mapDimension('value');
const valueArr = data.mapArray(valueDim, function (val: number) {
Expand Down Expand Up @@ -242,7 +243,10 @@ export default function funnelLayout(ecModel: GlobalModel, api: ExtensionAPI) {
const data = seriesModel.getData();
const valueDim = data.mapDimension('value');
const sort = seriesModel.get('sort');
const viewRect = layout.getViewRect(seriesModel, api);

const layoutRef = layout.createBoxLayoutReference(seriesModel, api);
const viewRect = layout.getLayoutRect(seriesModel.getBoxLayoutParams(), layoutRef.refContainer);

const orient = seriesModel.get('orient');
const viewWidth = viewRect.width;
const viewHeight = viewRect.height;
Expand Down
11 changes: 4 additions & 7 deletions src/chart/graph/GraphSeries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ import {
GraphEdgeItemObject,
OptionDataValueNumeric,
CallbackDataParams,
DefaultEmphasisFocus
DefaultEmphasisFocus,
PreserveAspectMixin
} from '../../util/types';
import SeriesModel from '../../model/Series';
import Graph from '../../data/Graph';
Expand All @@ -54,7 +55,6 @@ import { LineDataVisual } from '../../visual/commonVisualTypes';
import { createTooltipMarkup } from '../../component/tooltip/tooltipMarkup';
import { defaultSeriesFormatTooltip } from '../../component/tooltip/seriesFormatTooltip';
import {initCurvenessList, createEdgeMapForCurveness} from '../helper/multipleGraphEdgeHelper';
import Thumbnail, { ThumbnailOption } from './Thumbnail';
import tokens from '../../visual/tokens';


Expand Down Expand Up @@ -144,7 +144,8 @@ export interface GraphSeriesOption
SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin,
SymbolOptionMixin<CallbackDataParams>,
RoamOptionMixin,
BoxLayoutOptionMixin {
BoxLayoutOptionMixin,
PreserveAspectMixin {

type?: 'graph'

Expand Down Expand Up @@ -230,8 +231,6 @@ export interface GraphSeriesOption
* auto curveness for multiple edge, invalid when `lineStyle.curveness` is set
*/
autoCurveness?: boolean | number | number[]

thumbnail?: ThumbnailOption
}

class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
Expand Down Expand Up @@ -514,8 +513,6 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
borderColor: tokens.color.primary
}
},

thumbnail: Thumbnail.defaultOption
};
}

Expand Down
Loading
Loading