JSPM

ascii-boxplot

1.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q34193F
  • License MIT

small configurable boxplot utility for the console

Package Exports

  • ascii-boxplot

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ascii-boxplot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ascii-boxplot

ascii, character-only horizontal boxplots

patates        ·      •    [----[==|==]----]    •    ·
frites       ·   •   [---[=|===]--]   •   ·
poutines       ·   •    [----[=|=]----]     •     ·
choucroutte       ·  •    [----[=|=]-----]   •   ·

IntroductionAPIOptionsLicense

var boxplot = require('boxplot')
boxplot({
  label1: arrayOfSamples1,
  label2: arrayOfSamples2,
  label3: arrayOfSamples3,
})

API

boxplot(sourceData[, options])

  • sourceData object or array of samples. The object keys or array indices are used as labels
  • options optionsal configuration object

Options

The optional options object can override any or all of the internal defaults

var defaults = {
  1: ' • ',
  2: ' [=] ',
  3: ' [=|=] ',
  5: ' [-[=|=]-] ',
  7: ' • [-[=|=]-] • ',
  9: ' · • [-[=|=]-] • · ',
  cols: 0, // will attempt to autodetect if cols is falsy, defaulting to 80
  padding: [4, 4],
  probs: [0, .02, .09, .25, .50, .75, .91, .98, 1],
  ondone: function(str) { console.log(str) }
}
  • 1..9 are the templates for a given quantile size. More info in the template section below
  • cols the maximum width of the screen in characters
  • padding left and right padding (after the longest label and before the right edge)
  • probs the probabilities to be used when calculating the sample quantiles. Can be 1,2,3,5,7 or 9 chars long.
  • ondone the action to do with the completed string

If the sample size is less or equal to probs.length the sample values are used as-is. This means that precomputed quantile values can also be used

Templates

There are different templates for different number of probability points. For example, the default probability [0, .02, .09, .25, .50, .75, .91, .98, 1] has nine points and the display of the resulting values will use template #9.

A template string has 2n+1 characters and has the form svsvsv... where alternating characters are used for actual values v and for spacing.

Examples:

boxplot(data, {
  probs: [0.25, 0.5, 0.75],
  3:`.L-M-H.`
}) // --> something like '....L----M---H....'
boxplot(data, {
  probs: [0.09, 0.25, 0.5, 0.75, 0.],
  3:` |-##|##-| `
}) // --> something like ' |---###|####-----| '

License

Released under the MIT License