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 🙏

© 2025 – Pkg Stats / Ryan Hefner

logarscale

v1.0.1

Published

lightweight npm package to create logarithmic scales

Readme

LogarScale

This lightweight npm package can be used to calculate a simple logarithmic scale between two given values (minimum and maximum) and the base.

It handles negative values as well as any positiv logarithmic base.

This package is no longer actively developed, maintained or supported.
Please use the scalax package instead.

Install

Using Node.js, install the package with the following shell command:

npm install logarscale

Usage

Load the package into your project:

const LogarScale = require( 'logarscale' );

Sample of how to use the package in your code:

let scale = new LogarScale( -1.341, 6.5, 2 );

if ( scale.calculate() ) {

    let min = scale.getMinimum();
    // expected: -2

    let max = scale.getMaximum();
    // expected: 8

    let ticks = scale.getTicks( false );
    // expected: [ -2, 0, 2, 4, 8 ]

    let pct = scale.pct( 2 );
    // expected: 50

    let crossesZero = scale.crossesZero();
    // expected: true

}

JavaScript

Using JavaScript load this package by embed this file via jsDelivr:

import LogarScale from 'https://cdn.jsdelivr.net/npm/[email protected]/+esm';

Remember: To use import you need to load your JavaScript file as type="module".

API

Here you can find all methods available in the LogarScale class.

Creating a new instance of LogarScale allows to pass the bounds and logarithmic base. This replaces methods setBounds and setBase. You still need to run calculate().

setBounds( min, max )

Set lower / upper bounds for the scale. Requires to run calculate() afterwards.

setBase( base )

Set logarithmic scale for the scale. Can be any positiv number. Requires to run calculate() afterwards.

centerAt ( [ value = 0 ] )

Center scale at the given value (default is zero). Requires to run calculate() afterwards.

calculate()

Calculates the scale range, minimum, maximum and multiple other things.

isNegative()

Checks if the entire scale is negative. Returns true if the scale is negative.

crossesZero()

Checks if the scale crosses zero. Returns true if the scale crosses zero.

getRange()

Returns the scale range (from min to max).

getMinimum()

Returns the scale minium value.

getMaximum()

Returns the scale maximum value.

getTicks( [ pow0 = true ] )

Returns an array of the scale ticks (ascending order).

If pow0 = false, ticks for x^0 on both sides the scale (negative and positive) will be excluded. This only hits when the scale has positive and negative values (crosses zero).

getTicksReverse( [ pow0 = true ] )

Returns an array of the scale ticks (descending order).

pct( value [, from = 'min' ] )

Returns the percentage of a value within the scale from the reference point (either minimum or maximum value).

Patch notes

1.0.1

  • Successor scalax takes over this package

1.0.0

  • Initial release