npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ascii-boxplot

v1.2.0

Published

small configurable boxplot utility for the console

Downloads

15

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