
Security News
Node.js Drops Bug Bounty Rewards After Funding Dries Up
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.
@stoqey/gnuplot
Advanced tools
@stoqey/gnuplot is an easy to use node module to draw charts using gnuplot and ps2pdf. This module is based on Richard Meadows's node-plotter
Prerequisites:
# ubuntu
sudo apt-get install gnuplot
# alpine
apk add gnuplot
# mac
brew install gnuplot
To install package, just run:
npm install @stoqey/gnuplot
import plot from '@stoqey/gnuplot'
// with callback
plot({
data: [ 3, 1, 2, 3, 4 ],
filename: 'output.png',
finish: (error) => {
}
});
// As promise
const plotted = await plot({
data: [3, 1, 2, 3, 4],
filename: 'output1.png',
});
This defaults to .png but specifing format: svg changes the output
to .svg and format: pdf changes
the output format to
.pdf.
import plot from '@stoqey/gnuplot'
plot({
data: [ 3, 1, 2, 3, 4 ],
filename: 'output.svg',
format: 'svg'
});
The following properties can be used:
title : Sets the title of the graphxlabel : Sets the label on the x axis of the graphylabel : Sets the label on the y axis of the graphlogscale : Makes the y axis of the graph appear in a log scalestyle : The style of the lines on the graph. Possibilites include
lines (default), points and linespointsnokey : Disables the graph keyhideSeriesTitle: Indicates if plot should include legendmargin: Sets margin if neededxRange: Sets max and min values for the X axisyRange: Sets max and min values for the Y axisdecimalsign: Specifies a custom decimal signyFormat: Specifies how to format values on the Y axisfont: Specify a custom fontfontSize: Font sizetitleSize: Title font sizewidth: Plot widthheight: Plot heightlocale: Locale code (run 'set locale' for the exact value)The following example shows these in use:
plot({
title: 'example',
data: { 't1' : { 1357162672: 22.2, 1357162782: 23, 1357162892: 24 } },
time: 'hours',
style: 'line',
filename: 'test/output14.png',
format: 'png',
decimalsign: ',',
yFormat: '%.2f USD',
hideSeriesTitle: true,
xlabel: 'Time',
ylabel: 'Price',
margin: {
left: 10,
right: 3,
top: 3,
bottom: 4
},
xRotate: {
value: 45,
yOffset: -1.5,
xOffset: -2
},
hideSeriesTitle: true,
xRange: {
min: 0,
max: 100
}
});
plot({
data: { 'line' : { 1: 5, 5: 6 } },
filename: 'output.png'
});
Instead of specifing an array for data, you can specify an object
with a named series inside.
plot({
data: { 'tick' : [ 3, 1, 2, 3, 4 ], 'line' : { 1: 5, 5: 6 } },
filename: 'output.png'
});
plot({
data: { 'temperature' :
{ 1357162672: 22, 1357162782: 23, 1357162892: 24 } },
time: 'hours',
filename: 'output.png'
});
The x axis can be formatted as a time series if the x values are given
as a unix time. The time
property can be specified with the gnuplot time format.
The options object might additionally contain the following:
| Option | Description | Example |
|---|---|---|
exec | Arguments for the gnuplot process | options.exec = { cwd : '/home/user/images' }; |
finish | Callback executed when the gnuplot process finishes | options.finish = function(){ Console.log('Success!'); }; |
FAQs
Node gnuplot
We found that @stoqey/gnuplot demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.