{"id":20893496,"url":"https://github.com/arction/lcjs-example-0008-lineseriesmicroseconds","last_synced_at":"2025-03-12T19:14:48.386Z","repository":{"id":98723594,"uuid":"317540489","full_name":"Arction/lcjs-example-0008-lineSeriesMicroseconds","owner":"Arction","description":"A demo application showcasing using LightningChart JS to display high-resolution data.","archived":false,"fork":false,"pushed_at":"2025-02-05T11:35:09.000Z","size":12540,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-11T11:55:13.696Z","etag":null,"topics":["charts","demo","lcjs","lightningchart-js","line-series","template"],"latest_commit_sha":null,"homepage":"https://www.arction.com/lightningchart-js-interactive-examples/examples/lcjs-example-0008-lineSeriesMicroseconds.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-12-01T12:53:30.000Z","updated_at":"2025-02-05T11:34:37.000Z","dependencies_parsed_at":"2024-04-05T13:29:45.092Z","dependency_job_id":"8397eaf2-b39b-44ea-b4e7-b342755ad044","html_url":"https://github.com/Arction/lcjs-example-0008-lineSeriesMicroseconds","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-0008-lineSeriesMicroseconds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0008-lineSeriesMicroseconds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0008-lineSeriesMicroseconds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arction%2Flcjs-example-0008-lineSeriesMicroseconds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arction","download_url":"https://codeload.github.com/Arction/lcjs-example-0008-lineSeriesMicroseconds/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":["charts","demo","lcjs","lightningchart-js","line-series","template"],"created_at":"2024-11-18T10:16:02.271Z","updated_at":"2025-03-12T19:14:48.376Z","avatar_url":"https://github.com/Arction.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Microseconds Line Chart\n\n![JavaScript Microseconds Line Chart](lineSeriesMicroseconds-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 shows how to display high-resolution data - for example, measurements in microseconds precision.\r\n\r\nWhen displaying high-resolution data there is a need to do some scaling to the data before adding it to a series.\r\nLightningChart JS Axis is limited by floating point precision so when using really small or really large values there is a need to scale the values to be closer to 0.\r\n\r\n```js\r\nconst dataScaleX = 1 * Math.pow(1000, 3) // 1 us\r\nconst renderData = (data) =\u003e {\r\n    // Add data.\r\n    lineSeries.add(data.map((p) =\u003e ({ x: p.x * dataScaleX, y: p.y })))\r\n}\r\n```\r\n\r\nWhen the data is scaled closer to 0 then the LightningChart JS Axis is able to function properly but the values shown in the auto-cursor would be incorrect as it would show the scaled value, not the original. This can be fixed by setting a formatting function to the axis tick strategy.\r\n\r\n```js\r\nlineSeries.axisX.setTickStrategy(AxisTickStrategies.Numeric, (strategy) =\u003e\r\n    strategy\r\n        // Format ticks with units.\r\n        .setFormattingFunction((timeScaled) =\u003e Math.round(timeScaled) + ' μs'),\r\n)\r\n```\r\n\r\nAlternatively if the original value would be preferred then the scaling could be undone.\r\n\r\n```js\r\nlineSeries.axisX.setTickStrategy(AxisTickStrategies.Numeric, (strategy) =\u003e\r\n    strategy.setFormattingFunction((timeScaled) =\u003e timeScaled / dataScaleX),\r\n)\r\n```\r\n\n\n## API Links\n\n* [XY cartesian chart]\n* [Line series]\n* [Numeric Axis tick strategy]\n* [Data patterns]\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[Line series]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/classes/LineSeries.html\n[Numeric Axis tick strategy]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/variables/AxisTickStrategies.html\n[Data patterns]: https://lightningchart.com/js-charts/api-documentation/v7.0.1/interfaces/DataPattern.html\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farction%2Flcjs-example-0008-lineseriesmicroseconds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farction%2Flcjs-example-0008-lineseriesmicroseconds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farction%2Flcjs-example-0008-lineseriesmicroseconds/lists"}