Skip to content

Lightning-Chart/lcjs-example-1711-scatterZoomOverlay

Repository files navigation

Scatter Chart with Integrated Zoom Overlay

Scatter Chart with Integrated Zoom Overlay

This demo application belongs to the set of examples for LightningChart JS, data visualization library for JavaScript.

LightningChart JS is entirely GPU accelerated and performance optimized charting library for presenting massive amounts of data. It offers an easy way of creating sophisticated and interactive charts and adding them to your website or web application.

The demo can be used as an example or a seed project. Local execution requires the following steps:

  • Make sure that relevant version of Node.js is installed

  • Open the project folder in a terminal:

      npm install              # fetches dependencies
      npm start                # builds an application and starts the development server
    
  • The application is available at http://localhost:8080 in your browser, webpack-dev-server provides hot reload functionality.

Description

This high-density scatter plot provides an analysis of 53,940 diamonds, illustrating the relationship between price and carat weight. The data is further categorized by clarity, using a color lookup table to differentiate grades. Distinct vertical clusters at round-number weights (e.g., 1.0ct) reveal significant price jumps, marking where consumer demand for specific milestones creates market premiums.

To maintain context during exploration, an overview chart is positioned above the main plot to display the entire dataset and indicate the current zoom level via a rectangular overlay. This is implemented efficiently by using an ImageFill; a screenshot of the main ChartXY is captured as a data URL and applied directly as the background fill style for the overview series.

const screenshotDataUrl = chart.engine.captureFrame(undefined, undefined, true)
const img = new Image();
img.src = screenshotDataUrl
const fill = new ImageFill({ source: img })
overlayChart.setSeriesBackgroundFillStyle(fill)

The background image of the overview chart is updated every time the browser window size changes.

The data used in this example: Tidyverse / Diamonds CSV.

API Links

Support

If you notice an error in the example code, please open an issue on GitHub repository of the entire example.

Official API documentation can be found on LightningChart website.

If the docs and other materials do not solve your problem as well as implementation help is needed, ask on StackOverflow (tagged lightningchart).

If you think you found a bug in the LightningChart JavaScript library, please contact sales@lightningchart.com.

Direct developer email support can be purchased through a Support Plan or by contacting sales@lightningchart.com.

© LightningChart Ltd 2009-2026. All rights reserved.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors