1.0.25 • Published 1 month ago

w-hc2png v1.0.25

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

w-hc2png

A package for Highcharts to png.

language npm version license gzip file size npm download npm download jsdelivr download

Documentation

To view documentation or get support, visit docs.

Installation

Using npm(ES6 module):

Note: w-hc2png is mainly dependent on puppeteer, json5 and @hapi/hapi.

npm i w-hc2png

Example for function:

Link: [dev source code]

import WHc2png from './src/WHc2png.mjs'

function genPlotHtml(fp, b64) { let h = `

async function testa() {

let width = 500
let height = 400
let scale = 3
let opt = {

    title: {
        text: 'Logarithmic axis demo'
    },

    xAxis: {
        tickInterval: 1,
        type: 'logarithmic',
        accessibility: {
            rangeDescription: 'Range: 1 to 10'
        }
    },

    yAxis: {
        type: 'logarithmic',
        minorTickInterval: 0.1,
        accessibility: {
            rangeDescription: 'Range: 0.1 to 1000'
        }
    },

    tooltip: {
        headerFormat: '<b>{series.name}</b><br />',
        pointFormat: 'x = {point.x}, y = {point.y}'
    },

    series: [{
        data: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
        pointStart: 1
    }]

}

let b64 = await WHc2png(width, height, scale, opt)
// console.log('b64', b64)

fs.writeFileSync('./test-scla.b64', b64)
genPlotHtml('./test-scla.html', b64)

console.log('finish')

} testa() .catch((err) => { console.log(err) })

async function testb() {

let width = 500
let height = 400
let scale = 3
let cOpt = `
let ds = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
for (let i = 0; i < ds.length; i++) {
    ds[i] = Math.sin(ds[i]/360*Math.PI)
}
let opt = {

    title: {
        text: 'Logarithmic axis demo'
    },

    xAxis: {
        tickInterval: 1,
        type: 'logarithmic',
        accessibility: {
            rangeDescription: 'Range: 1 to 10'
        }
    },

    yAxis: {
        type: 'logarithmic',
        minorTickInterval: 0.1,
        accessibility: {
            rangeDescription: 'Range: 0.1 to 1000'
        }
    },

    tooltip: {
        headerFormat: '<b>{series.name}</b><br />',
        pointFormat: 'x = {point.x}, y = {point.y}'
    },

    series: [{
        data: ds,
        pointStart: 1
    }]

}
`
let whOpt = {}

let b64 = await WHc2png(width, height, scale, cOpt, whOpt)
// console.log('b64', b64)

fs.writeFileSync('./test-sclb.b64', b64)
genPlotHtml('./test-sclb.html', b64)

console.log('finish')

} testb() .catch((err) => { console.log(err) })

#### Example for Server:
> **Link:** [[dev source code](https://github.com/yuda-lyu/w-hc2png/blob/master/srv.mjs)]
```alias
import WHc2pngServer from 'w-hc2png/src/WHc2pngServer.mjs'

let opt = {
    port: 9020,
    apiName: 'api',
}
WHc2pngServer(opt)

------------------------

[POST] http://localhost:9020/api

{
    width: 500,
    height: 400,
    scale: 3,
    opt: {
    
        title: {
            text: 'Logarithmic axis demo'
        },
    
        xAxis: {
            tickInterval: 1,
            type: 'logarithmic',
            accessibility: {
                rangeDescription: 'Range: 1 to 10'
            }
        },
    
        yAxis: {
            type: 'logarithmic',
            minorTickInterval: 0.1,
            accessibility: {
                rangeDescription: 'Range: 0.1 to 1000'
            }
        },
    
        tooltip: {
            headerFormat: '<b>{series.name}</b><br />',
            pointFormat: 'x = {point.x}, y = {point.y}'
        },
    
        series: [{
            data: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
            pointStart: 1
        }]
    
    }

}
1.0.25

1 month ago

1.0.24

2 months ago

1.0.23

2 months ago

1.0.19

8 months ago

1.0.18

8 months ago

1.0.17

8 months ago

1.0.16

9 months ago

1.0.22

8 months ago

1.0.21

8 months ago

1.0.20

8 months ago

1.0.15

9 months ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.7

2 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago