Examples of Apache ECharts

Clone this repo:
  1. 16b6c9d chore: add .asf.yaml by plainheart · 9 days ago gh-pages
  2. 6d6f3d7 preload prettier after the component is mounted by plainheart · 12 days ago
  3. 9785d66 fix(editor): fix wrong encoder when sharing the modified base64 code by plainheart · 12 days ago
  4. a7e386b feat(editor): support uncompressed base64-encoded code by plainheart · 12 days ago
  5. cc3eba0 fix(editor): clear the opener after the example code is loaded by plainheart · 12 days ago

Examples of ECharts

Install

npm install

Dev

npm run dev

Release

npm run release

It will copy all the build resources to echarts-website/next/examples

Use local echarts build

  1. Update the URL of localEChartsMinJS in common/config.js
  2. Add local=1 in URL. For example: editor.html?c=area-basic&local=1

Edit example

All test cases are in the public/examples/ts folder. The comment in the header

/*
title: Area Pieces
titleCN: 折线图区域高亮
category: 'line, visualMap'
*/

describes the meta info of this example.

If you want to record a video to show the animation when genering screenshot. Use videoStart and videoEnd:

/*
title: Bar Race
titleCN: 动态排序柱状图
category: bar
difficulty: 5
videoStart: 1000
videoEnd: 6000
*/

Most of examples are written in TypeScript. You need to comile it to JavaScript by using command:

npm run compile:example

Some built-in features available in examples

Import third-party library

For example:

$.when(
  $.getScript(ROOT_PATH + '/data/asset/js/xxxx.js'),
  $.getScript(
    'https://cdn.jsdelivr.net/npm/d3-contour@2.0.0/dist/d3-contour.jXs'
  )
).done(function () {
  // ...
});

Controller panel

Use this code to enable controller panel for a example:

app.config = {
    aNameForTheSelectWidget: 'This is the initial value'
    aNameForTheRangeWidget: 45,
    aNameForTheButtonWidget: function () {
        // Do something.
    },
    onChange: function () {
        // Do something.
    }
};
app.configParameters = {
    aNameForTheSelectWidget: {
        options: [
            'This is the initial value',
            'This is another value',
            'This is the third value'
        ]
    },
    aNameForTheRangeWidget: {
        min: -90,
        max: 90
    }
};

Resize

app.onresize = function () {
  // Do something.
};

Get width and height of the chart area

var width = myChart.getWidth();
var height = myChart.getHeight();

Update example snapshots

npm run build:example

Only for default theme

node tool/build-example.js -t default

Run e2e tests.

Run all the examples to test package publishing and install, module importing, minimal bundling and DTS correctness.

Before run the tests. you need to update the examples.

npm run build:example

Then run the tests.

npm run test:e2e

You can change the testing branch or local dir, which is available when add --local in e2e/config.js

If you want to test with esbuild bundler. Which is much faster.

npm run test:e2e:esbuild

If you want use the packages in your local folder which is still in developing. Please update the dir path in test/config.js for all packages first. Then run the script directly with --local arg.

node e2e/main.js --bundler esbuild -m --local
node e2e/main.js --bundler webpack -m --local

Run partial tests.

Note: This can only be used when you run the whole e2e test at least once.

Skip specific stages.

node e2e/main.js --skip bundle

Specify matched tests.

node e2e/main.js --skip npm --tests bar3D*