4.0.341-alpha • Published 19 days ago

@bitblit/ratchet-echarts v4.0.341-alpha

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
19 days ago

node-echarts

Generate chart by Apache ECharts in Nodejs.

This library is forked from node-echarts to which it is highly indebted. I have forked it because that library appears to now be dormant, and I'd like to be able to use newer versions of echarts, and the new prebuilt versions of canvas in my Lambda functions. I also prefer typescript and will be bringing in type information.

Install

Note: Since this library depends on Echarts >= 5.x and node-canvas (canvas) >= 2.9.3, it auto-bundles in the correct native libraries (prebuilt) for Windows, OSX, and Linux - see the canvas github page for details. Therefore, all you have to do is:

npm install @bitblit/ratchet-echarts

Special notes for AWS Lambda

Most important - you MUST set your lambda to have sufficient memory - probably 512Mb or more. If you find yourself getting timeouts with no errors logged after adding the library, you most likely have insufficient memory set.

If you are using AWS Lambda (either Node 14/16, or containers built from the AWS parent container for them), you will likely encounter the error "/lib64/libz.so.1: version `ZLIB_1.2.9' not found (required by /var/task/node_modules/canvas/build/Release/libpng16.so.16)"

See the node-canvas issue for more details. The solution varies depending on how you use Lambda.

Using a custom docker container (1st way)

To make sure it is compatible with whatever the current build of the image is, we will build from scratch. In our docker container, we'll add :

# To build things in yarn
RUN yum -y install python3
RUN yum -y install pkgconfig make

# Specifically for building canvas
RUN yum -y install gcc-c++ cairo-devel pango-devel libjpeg-turbo-devel giflib-devel

And then, in the container we'll force a clean build, either by using

RUN npm install --build-from-source

or

RUN npm_config_build_from_source=true yarn install

Using a custom docker container (alternate way)

Add this to your container:

# Bring these in to make echarts work...
# Also requires setting the LD_LIBRARY_PATH variable in the config
# https://github.com/Automattic/node-canvas/issues/1779
RUN yum -y install libuuid-devel libmount-devel
RUN cp /lib64/{libuuid,libmount,libblkid}.so.1 ${LAMBDA_TASK_ROOT}/node_modules/canvas/build/Release/
# End charts stuff

And then set an environment variable:

LD_LIBRARY_PATH="${LAMBDA_TASK_ROOT}/modules/api/node_modules/canvas/build/Release:${LD_LIBRARY_PATH}"

Using one of the AWS Node options

Use a prebuilt layer

Usage

import { EChartRatchet } from '../echart-ratchet';
import { EChartsOption } from 'echarts';
import fs from 'fs';

const options: EChartsOption = {
    // Some big echarts thing... see Echarts docs for how to build this
    //title: {
    //    text: 'test',
    //},
    //...
};

const canvasConfig: EChartCanvasConfig  = {
    width: 1000
    height: 500
}

const myChart: Buffer = await EChartRatchet.renderChart(options, canvasConfig);
fs.writeFileSync('somefile.png', myChart);

// Also could have just written
// await EChartRatchet.renderChartToPngFile('somefile.png', options, canvasConfig);

EChartCanvasConfig

nametypedefaultdescription
widthNumber500Image width
heightNumber500Image height
4.0.338-alpha

19 days ago

4.0.339-alpha

19 days ago

4.0.341-alpha

19 days ago

4.0.331-alpha

27 days ago

4.0.332-alpha

27 days ago

4.0.333-alpha

27 days ago

4.0.334-alpha

26 days ago

4.0.324-alpha

1 month ago

4.0.323-alpha

1 month ago

4.0.322-alpha

2 months ago

4.0.321-alpha

2 months ago

4.0.318-alpha

3 months ago

4.0.317-alpha

3 months ago

4.0.315-alpha

3 months ago

4.0.313-alpha

3 months ago

4.0.312-alpha

3 months ago

4.0.314-alpha

3 months ago

4.0.311-alpha

3 months ago

4.0.309-alpha

3 months ago

4.0.310-alpha

3 months ago

4.0.308-alpha

3 months ago

4.0.305-alpha

4 months ago

4.0.306-alpha

4 months ago

4.0.307-alpha

4 months ago

4.0.303-alpha

4 months ago

4.0.304-alpha

4 months ago

4.0.302-alpha

4 months ago

4.0.301-alpha

4 months ago

4.0.300-alpha

4 months ago

4.0.298-alpha

5 months ago

4.0.299-alpha

5 months ago

4.0.297-alpha

5 months ago

4.0.296-alpha

5 months ago

4.0.295-alpha

5 months ago

4.0.294-alpha

5 months ago

4.0.290-alpha

6 months ago

4.0.210-alpha

8 months ago

4.0.268-alpha

7 months ago

4.0.163-alpha

10 months ago

4.0.284-alpha

6 months ago

4.0.211-alpha

8 months ago

4.0.221-alpha

8 months ago

4.0.267-alpha

7 months ago

4.0.204-alpha

9 months ago

4.0.244-alpha

7 months ago

4.0.234-alpha

8 months ago

4.0.235-alpha

8 months ago

4.0.238-alpha

7 months ago

4.0.207-alpha

9 months ago

4.0.278-alpha

6 months ago

4.0.258-alpha

7 months ago

4.0.232-alpha

8 months ago

4.0.222-alpha

8 months ago

4.0.184-alpha

10 months ago

4.0.164-alpha

10 months ago

4.0.282-alpha

6 months ago

4.0.262-alpha

7 months ago

4.0.272-alpha

7 months ago

4.0.270-alpha

7 months ago

4.0.225-alpha

8 months ago

4.0.202-alpha

9 months ago

4.0.208-alpha

9 months ago

4.0.183-alpha

10 months ago

4.0.293-alpha

6 months ago

4.0.288-alpha

6 months ago

4.0.281-alpha

6 months ago

4.0.253-alpha

7 months ago

4.0.254-alpha

7 months ago

4.0.241-alpha

7 months ago

4.0.201-alpha

9 months ago

4.0.277-alpha

6 months ago

4.0.287-alpha

6 months ago

4.0.224-alpha

8 months ago

4.0.220-alpha

8 months ago

4.0.200-alpha

9 months ago

4.0.165-alpha

10 months ago

4.0.280-alpha

6 months ago

4.0.185-alpha

10 months ago

4.0.240-alpha

7 months ago

4.0.283-alpha

6 months ago

4.0.203-alpha

9 months ago

4.0.286-alpha

6 months ago

4.0.271-alpha

7 months ago

4.0.291-alpha

6 months ago

4.0.289-alpha

6 months ago

4.0.279-alpha

6 months ago

4.0.269-alpha

7 months ago

4.0.229-alpha

8 months ago

4.0.209-alpha

8 months ago

4.0.239-alpha

7 months ago

4.0.219-alpha

8 months ago

4.0.246-alpha

7 months ago

4.0.226-alpha

8 months ago

4.0.276-alpha

6 months ago

4.0.266-alpha

7 months ago

4.0.236-alpha

8 months ago

4.0.256-alpha

7 months ago

4.0.206-alpha

9 months ago

4.0.259-alpha

7 months ago

4.0.162-alpha

11 months ago

4.0.152-alpha

11 months ago

4.0.160-alpha

11 months ago

4.0.143-alpha

11 months ago

4.0.158-alpha

11 months ago

4.0.146-alpha

11 months ago

4.0.156-alpha

11 months ago

4.0.159-alpha

11 months ago

4.0.149-alpha

11 months ago

4.0.145-alpha

11 months ago

4.0.150-alpha

11 months ago

4.0.142-alpha

11 months ago

4.0.157-alpha

11 months ago

4.0.148-alpha

11 months ago

4.0.151-alpha

11 months ago

4.0.141-alpha

11 months ago

4.0.154-alpha

11 months ago

4.0.144-alpha

11 months ago

4.0.135-alpha

12 months ago

4.0.140-alpha

11 months ago

4.0.132-alpha

12 months ago

4.0.127-alpha

12 months ago

4.0.112-alpha

1 year ago

4.0.138-alpha

11 months ago

4.0.120-alpha

12 months ago

4.0.115-alpha

12 months ago

4.0.116-alpha

12 months ago

4.0.136-alpha

11 months ago

4.0.139-alpha

11 months ago

4.0.129-alpha

12 months ago

4.0.119-alpha

12 months ago

4.0.130-alpha

12 months ago

4.0.137-alpha

11 months ago

4.0.128-alpha

12 months ago

4.0.113-alpha

1 year ago

4.0.133-alpha

12 months ago

4.0.121-alpha

12 months ago

4.0.111-alpha

1 year ago

4.0.1-alpha

12 months ago

4.0.134-alpha

12 months ago

4.0.102-alpha

1 year ago

4.0.103-alpha

1 year ago

4.0.107-alpha

1 year ago

4.0.110-alpha

1 year ago

4.0.105-alpha

1 year ago

4.0.109-alpha

1 year ago

4.0.108-alpha

1 year ago

4.0.104-alpha

1 year ago

4.0.80-alpha

1 year ago

4.0.94-alpha

1 year ago

4.0.89-alpha

1 year ago

4.0.84-alpha

1 year ago

4.0.98-alpha

1 year ago

4.0.95-alpha

1 year ago

4.0.88-alpha

1 year ago

4.0.85-alpha

1 year ago

4.0.99-alpha

1 year ago

4.0.82-alpha

1 year ago

4.0.97-alpha

1 year ago

4.0.81-alpha

1 year ago

4.0.87-alpha

1 year ago

4.0.86-alpha

1 year ago

0.1.6-alpha

1 year ago

0.1.4-alpha

2 years ago

0.1.3-alpha

2 years ago