{"id":20893409,"url":"https://github.com/arction/lcjs-example-0800-heatmapgrid","last_synced_at":"2025-03-12T19:14:22.914Z","repository":{"id":98723673,"uuid":"259618820","full_name":"Arction/lcjs-example-0800-heatmapgrid","owner":"Arction","description":"A demo application showcasing using LightningChart JS to display Heatmap with IntensityGrid.","archived":false,"fork":false,"pushed_at":"2025-02-05T11:38:37.000Z","size":9063,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-05T12:32:06.558Z","etag":null,"topics":["demo","example","heatmap","heatmap-grid","heatmap-series","intensity-grid","javascript","lcjs","lightningchart-js","xy-charts"],"latest_commit_sha":null,"homepage":"https://www.arction.com/lightningchart-js-interactive-examples/examples/lcjs-example-0800-heatmapGrid.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arction.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-28T11:34:31.000Z","updated_at":"2025-02-05T11:36:27.000Z","dependencies_parsed_at":"2024-04-05T13:30:36.696Z","dependency_job_id":"7cab2b76-401c-4460-95f7-9e8183177873","html_url":"https://github.com/Arction/lcjs-example-0800-heatmapgrid","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0800-heatmapgrid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0800-heatmapgrid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0800-heatmapgrid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0800-heatmapgrid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arction","download_url":"https://codeload.github.com/Arction/lcjs-example-0800-heatmapgrid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243277498,"owners_count":20265352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["demo","example","heatmap","heatmap-grid","heatmap-series","intensity-grid","javascript","lcjs","lightningchart-js","xy-charts"],"created_at":"2024-11-18T10:15:43.793Z","updated_at":"2025-03-12T19:14:22.908Z","avatar_url":"https://github.com/Arction.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Heatmap Grid Chart\n\n![JavaScript Heatmap Grid Chart](heatmapGrid-darkGold.png)\n\nThis demo application belongs to the set of examples for LightningChart JS, data visualization library for JavaScript.\r\n\r\nLightningChart 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.\r\n\r\nThe demo can be used as an example or a seed project. Local execution requires the following steps:\r\n\r\n-   Make sure that relevant version of [Node.js](https://nodejs.org/en/download/) is installed\r\n-   Open the project folder in a terminal:\r\n\r\n          npm install              # fetches dependencies\r\n          npm start                # builds an application and starts the development server\r\n\r\n-   The application is available at _http://localhost:8080_ in your browser, webpack-dev-server provides hot reload functionality.\r\n\n\n## Description\n\nThis example showcases simple usage of `HeatmapGridSeries`, a simple, yet incredibly series type.\r\n\r\n`HeatmapGridSeries` visualizes three dimensional data (X, Y, color) of large quantities.\r\nIt can easily handle data sets in million data points range even on low-end devices.\r\nWith large amounts of RAM even **billions** of data points can be visualized!\r\n\r\nHeatmaps can be created in XY Charts:\r\n\r\n```javascript\r\n// Add heatmap Grid Series to a XY Chart\r\nchartXY.addHeatmapGridSeries({\r\n    columns: horizontalResolution,\r\n    rows: verticalResolution,\r\n})\r\n```\r\n\r\nThe data used for the heatmap is created using the WaterdropGenerator function in the example code.\r\n\r\n# Heatmap Grid Series options\r\n\r\nWhen `HeatmapGridSeries` is created, there are minimum of two properties that have to be specified:\r\n\r\n`columns`: amount of data values along X dimension.\r\n\r\n`rows`: amount of data values along Y dimension.\r\n\r\nConfiguration of these two properties is enough for a fully functioning heatmap grid series.\r\n\r\nThe following optional properties can be used for tweaking heatmap behavior for exact application purposes:\r\n\r\n`start`: Axis coordinate where heatmap grid begins.\r\n\r\n`end`: Axis coordinate where heatmap grid ends.\r\n\r\n`step`: Alternate syntax, supplying a `step` value will result in automatic calculation of `end` based on `columns` / `rows` amount.\r\n\r\n`dataOrder`: By default incoming intensity data is treated as _list of columns_. This can be flipped by selecting `dataOrder: 'rows'`.\r\n\r\n# Heatmap Grid Series data input\r\n\r\nThe data set of `HeatmapGridSeries` is defined as a _number matrix_, for example:\r\n\r\n```js\r\n// Example syntax of 3x5 number matrix.\r\n;[\r\n    [0, 1, 0, 1, 0],\r\n    [1, 0, 1, 0, 0],\r\n    [0, 0, 0, 0, 0],\r\n]\r\n```\r\n\r\nThe data set is specified with `invalidateIntensityValues` method. There are two overrides for this method.\r\n\r\n```js\r\n// Example syntax, invalidate intensity values override #1, specify data from beginning of heatmap.\r\nheatmap.invalidateIntensityValues([\r\n    // dataOrder: 'columns', columns: 3, rows: 5\r\n    [0, 0, 0, 0, 0],\r\n    [0, 0, 0, 0, 0],\r\n    [0, 0, 0, 0, 0],\r\n])\r\n```\r\n\r\n```js\r\n// Example syntax, invalidate intensity values override #2, specify data from arbitrary offset.\r\nheatmap.invalidateIntensityValues({\r\n    iColumn: 10,\r\n    iRow: 0,\r\n    values: [\r\n        [0, 0, 0, 0, 0],\r\n        [0, 0, 0, 0, 0],\r\n        [0, 0, 0, 0, 0],\r\n    ],\r\n})\r\n```\r\n\n\n## API Links\n\n* [XY cartesian chart]\n* [Heatmap Grid Series Intensity]\n* [Paletted Fill]\n* [LUT]\n* [Empty line style]\n* [Legend Box]\n\n\n## Support\n\nIf you notice an error in the example code, please open an issue on [GitHub][0] repository of the entire example.\r\n\r\nOfficial [API documentation][1] can be found on [LightningChart][2] website.\r\n\r\nIf the docs and other materials do not solve your problem as well as implementation help is needed, ask on [StackOverflow][3] (tagged lightningchart).\r\n\r\nIf you think you found a bug in the LightningChart JavaScript library, please contact sales@lightningchart.com.\r\n\r\nDirect developer email support can be purchased through a [Support Plan][4] or by contacting sales@lightningchart.com.\r\n\r\n[0]: https://github.com/Arction/\r\n[1]: https://lightningchart.com/lightningchart-js-api-documentation/\r\n[2]: https://lightningchart.com\r\n[3]: https://stackoverflow.com/questions/tagged/lightningchart\r\n[4]: https://lightningchart.com/support-services/\r\n\n© LightningChart Ltd 2009-2022. All rights reserved.\r\n\n\n[XY cartesian chart]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/ChartXY.html\n[Heatmap Grid Series Intensity]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/HeatmapGridSeriesIntensityValues.html\n[Paletted Fill]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/PalettedFill.html\n[LUT]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/LUT.html\n[Empty line style]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/variables/emptyLine.html\n[Legend Box]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/Chart.html#addLegendBox\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farction%2Flcjs-example-0800-heatmapgrid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farction%2Flcjs-example-0800-heatmapgrid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farction%2Flcjs-example-0800-heatmapgrid/lists"}