Skip to content

Lightning-Chart/lcjs-example-1714-chartsInChart

Repository files navigation

JavaScript Drill-Down Nord Pool Map Dashboard

JavaScript Drill-Down Nord Pool Map Dashboard

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 dashboard visualizes day-ahead market data from the Nord Pool energy exchange. It provides a geographic overview of the next day's planned power generation across the Nordic-Baltic region.

You can click any bidding zone (small charts) or sidebar row to drill down into its detailed energy mix below, or use the buttons to filter specific energy sources globally. A red Day-ahead Price line overlays all charts, making it easy to spot market correlations, such as price drops during high wind availability.

The application uses a Map chart for the geographical background, while the bidding zone boundaries are rendered using a PolygonSeries within a transparent ChartXY overlay. This allows for custom highlighting and styling of GeoJSON shapes that differ from the standard map regions.

The Map chart's geospatial coordinate system is synchronized with the XY axes:

mapChart.addEventListener('viewchange', (event) => {
    const { latitudeRange, longitudeRange, margin } = event
    // Sync the XY overlay axes with the Map viewport
    chartXY.getDefaultAxisX().setInterval({ start: longitudeRange.start, end: longitudeRange.end })
    chartXY.getDefaultAxisY().setInterval({ start: latitudeRange.start, end: latitudeRange.end })
    // Update the HTML mini-chart positions using the synchronized axes
    updateChartPositions()
})

Data sources used in this example: ENTSO-E Transparency Platform Nord Pool Day-ahead Prices GitHub - Python client for the ENTSO-E API

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