/FishNodeEcharts

Create echarts on server side by node

Primary LanguageJavaScriptMIT LicenseMIT

FishNodeEcharts

GitHub issues GitHub forks GitHub stars GitHub license

Create echarts on server side by node

How to instal

OS Command
OS X brew install pkg-config cairo pango libpng jpeg giflib
Ubuntu sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Fedora sudo yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
Solaris pkgin install cairo pango pkg-config xproto renderproto kbproto xextproto
Windows Instructions on our wiki
npm install fish-node-echarts

ENV

node

version > 8.x

How to use

@param config = {
    width: 500 // image width, it is not required, the default will be 500 
    height: 500 // image height,it is not required, default will be 500 
    option: {}, //it is required, echarts configuration
    pathname:'', // the filepath where the image which will be created. it is not required, default './',
    filename:'test.jpg', //the filename, it is not provide, it will not create the image but reture a file stream,
    type:'png' //the image type, support 'png' or 'jgp',default 'png'
}
1. require the module
const genEchart = require('fish-node-echarts');
2. define an echart option(you can check the echarts ducument):
const option = {
    backgroundColor:'#fff',
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line'
    }]
};

3. Generate the echart image file or buffer:

(1) generate the image buffer:
promise
genEchart({
    width:500,
    height:500,
    option,
    pathname:'./Test',
    filename:'test.jpg',
    type:'jpg'
}).then(filename =>{
	//get the echart image filename
});

async
let filename = await genEchart({
    width:500,
    height:500,
    option,
    pathname:'./Test',
    filename:'test.jpg',
    type:'jpg'
});

(2) generate the image buffer:
promise
genEchart({
    width:500,
    height:500,
    option,
    pathname:'./Test',
    filename:'test.jpg',
    type:'jpg'
}).then(buffer=>{
	//get the echart image buffer
});

async
let buffer = await genEchart({
    width:500,
    height:500,
    option,
    pathname:'./Test',
    filename:'test.jpg',
    type:'jpg'
});