SkillAgentSearch skills...

Billboard.js

šŸ“Š Re-usable, easy interface JavaScript chart library based on D3.js

Install / Use

/learn @naver/Billboard.js
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<picture> <source srcset="https://naver.github.io/billboard.js/img/logo/billboard.js-white.svg" media="(prefers-color-scheme: dark)"> <img src="https://naver.github.io/billboard.js/img/logo/billboard.js.svg" width="350" alt="billboard.js"><br> </picture>

[![Latest Version][badge-latest]][link-version] [![Next version][badge-next]][link-version] [![bb][badge-@billboard.js/react]][link-@billboard.js/react]<br> [![semantic-release][badge-semantic-release]][link-semantic-release] ![React][badge-react]

[![download][badge-download]][link-download] [![download][badge-download-weekly]][link-download] [![jsDelivr][badge-jsDelivr]][link-jsDelivr] [![jsDelivr][badge-jsDelivr-weekly]][link-jsDelivr]<br> ![CI Status][badge-ci-status] [![Coverage Status][badge-coverage]][link-coverage] [![Known Vulnerabilities][badge-snyk]][link-snyk] [![gzip size][badge-gzip-size]][link-gzip-size]

billboard.js is a re-usable, easy interface JavaScript chart library, based on D3.js.

The name "billboard" comes from the famous billboard chart which everybody knows.<br>

Documents

Questions?

If you have any questions, check out the previous posts or create a new one at:

Supported chart types

<img src="https://naver.github.io/billboard.js/img/chart-types.png?v=15" width=800>

Download and Installation

Download dist files from the repo directly or install it via npm.

<details> <summary>Dist file list from the repo. (click to expand)</summary>

For development (Uncompressed)

You can download the uncompressed files for development

Latest

  • https://naver.github.io/billboard.js/release/latest/dist/billboard.js
  • https://naver.github.io/billboard.js/release/latest/dist/billboard.css

Specific version

  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.js
  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.css

For production (Compressed)

You can download the compressed files for production

Latest

  • https://naver.github.io/billboard.js/release/latest/dist/billboard.min.js
  • https://naver.github.io/billboard.js/release/latest/dist/billboard.min.css

Specific version

  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.min.js
  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.min.css

Packaged version (with D3.js inclusion)

āš ļø Packaged version is not an official distribution. It's to provide an easy way to load 'billboard.js' with dependencies.

  • Latest
    • https://naver.github.io/billboard.js/release/latest/dist/billboard.pkgd.js
    • https://naver.github.io/billboard.js/release/latest/dist/billboard.pkgd.min.js
  • Specific version
    • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.pkgd.js
    • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.pkgd.min.js
</details>

Themes

[!NOTE] If you want to apply themes, simply load one of the theme css files provided instead of the default css file.

<details> <summary>Dist theme file list from the repo. (click to expand)</summary>

datalab

  • https://naver.github.io/billboard.js/release/latest/dist/theme/datalab.css
  • https://naver.github.io/billboard.js/release/latest/dist/theme/datalab.min.css

dark

  • https://naver.github.io/billboard.js/release/latest/dist/theme/dark.css
  • https://naver.github.io/billboard.js/release/latest/dist/theme/dark.min.css

insight

  • https://naver.github.io/billboard.js/release/latest/dist/theme/insight.css
  • https://naver.github.io/billboard.js/release/latest/dist/theme/insight.min.css

graph

  • https://naver.github.io/billboard.js/release/latest/dist/theme/graph.css
  • https://naver.github.io/billboard.js/release/latest/dist/theme/graph.min.css

modern

  • https://naver.github.io/billboard.js/release/latest/dist/theme/modern.css
  • https://naver.github.io/billboard.js/release/latest/dist/theme/modern.min.css
</details>

Nightly version

Nightly version is the latest build from the master branch. With nightly, you can try upcoming changes prior to the official release.

  • https://github.com/naver/billboard.js/tree/nightly/dist

[!NOTE] The version info will be given as the build datetime: x.x.x-nightly-yyyymmddhhmmss

There are two ways to install from the nightly branch directly.

// Specify on 'package.json' file
"dependencies": {
      ...
      "billboard.js": "naver/billboard.js#nightly"
},
# Run install command from shell
$ npm install git+https://github.com/naver/billboard.js.git#nightly --save

Next (Release Candidate) version

Next version is the 'release candidate' build, prior to the latest official release.

# Run install command from shell
$ npm install billboard.js@next --save

Installation with npm

$ npm install billboard.js

Packages

Name | For | Description :---: | :---:| :---: [![bb][badge-@billboard.js/react]][link-@billboard.js/react] | ![React][badge-react] | React component for billboard.js

Using CDN

If you want to use 'billboard.js' without installation, load files directly from one of the CDN providers.

  • cdnjs: https://cdnjs.com/libraries/billboard.js
  • jsDelivr: https://cdn.jsdelivr.net/npm/billboard.js/dist/
  • unpkg: https://unpkg.com/billboard.js/dist/

Supported Browsers

[!IMPORTANT]

  • Basically will work on all SVG and ES6+ supported browsers.
  • <sup>*</sup>Notes for legacy browsers:
    • Recommended to use the packaged build or construct your own build following How to bundle for legacy browsers? instructions.
    • D3.js has dropped support for legacy browsers since v6.
    • Support isn't fully guaranteed.

Dependency by version

D3.js (required)| billboard.js :---: | :---: 4.x ~ 5.x | 1.x ~ 2.x 6.x+ | 3.x+

Getting Started

Load billboard.js after D3.js.

<!-- 1) Load D3.js and billboard.js separately -->
    <!-- Load D3: -->
    <script src="https://d3js.org/d3.v6.min.js"></script>

    <!-- Load billboard.js with base(or theme) style -->
    <link rel="stylesheet" href="$YOUR_PATH/billboard.css">
    <script src="$YOUR_PATH/billboard.js"></script>

<!-- 2) or Load billboard.js packaged with D3.js -->
    <link rel="stylesheet" href="$YOUR_PATH/billboard.css">
    <script src="$YOUR_PATH/billboard.pkgd.js"></script>

or by importing ESM.

[!TIP] šŸ“Œ Also check: How to load as ESM directly from the browser?

// 1) import billboard.js
// as named import with desired shapes and interaction modules
// https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality
import {bb, area, bar, zoom} from "billboard.js";

// or as importing default
import bb, {area, bar, zoom} from "billboard.js";

// 2) import css if your dev-env supports. If don't, include them via <link>
import "billboard.js/dist/billboard.css";

// or theme style. Find more themes from 'theme' folder
import "billboard.js/dist/theme/insight.css"

[!NOTE]

Basic usage example

1) Create chart holder element

<div id="chart"></div>

2) Generate a chart with options

// generate the chart
var chart = bb.generate({
    bindto: "#chart",
    data: {
      // for ESM import usage, import 'line' module and execute it as
      // type: line(),
      type: "line",
      columns: [
          ["data1", 30, 200, 100, 400, 150, 250]
      ]
    },
    zoom: {
      // for ESM import usage, import 'zoom' module a
View on GitHub
GitHub Stars6.0k
CategoryDevelopment
Updated8h ago
Forks355

Languages

TypeScript

Security Score

100/100

Audited on Mar 27, 2026

No findings