With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js. Learn more →
uPlot Alternatives
Similar projects and alternatives to uPlot
-
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
-
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
Charts
Discontinued ⚡ Laravel Charts — Build charts using laravel. The laravel adapter for Chartisan. (by Chartisan)
-
TimeChart
An chart library specialized for large-scale time-series data, built on WebGL.
-
laravel-recharts
Discontinued A Laravel package for using the Recharts charting Library. Docs: https://kaishiyoku.github.io/laravel-recharts
-
network-weathermap-prometheus-datasource
attempt to add prometheus as datasource for network-weathermap
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
-
-
-
-
-
-
-
-
-
php-weathermap-zabbix-plugin
PHP Weathermap plugin for Zabbix (using Zabbix API)
-
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
uPlot reviews and mentions
-
Rendering data that changes very frequently
Here is a very efficient 2D canvas lib that is extremely efficient https://github.com/leeoniya/uPlot i recommend looking through their readme and seeing if it solves your current problems.
- Graphing Libraries that are as good as Excel?
-
Show HN: Inflation-adjusted stock charts – Total Real Returns
BACKEND:
It's about 3000 lines of Crystal code https://crystal-lang.org/ -- it's been an absolute dream to program in. Ruby-like syntax, statically compiled performance. Nice standard library. Would recommend :)
Performance == caching
Local ephemeral filesystem for shortest-term caching.
Redis for shared medium-term caching and locking.
S3-compatible object storage for longest-term caching (for raw data feeds pulled every evening by a cronjob).
FRONTEND:
Bootstrap
uPlot https://github.com/leeoniya/uPlot
Just a sprinkle of inline JS+CSS on the page.
-
It's always been you, Canvas2D
you can use matchMedia to detect devicePixelRatio changes and re-sync:
https://github.com/leeoniya/uPlot/blob/190134aa844cfa2a0c052...
everything stays crisp even as you browser-zoom. e.g. https://leeoniya.github.io/uPlot/demos/area-fill.html
-
AMP Has Irreparably Damaged Publishers’ Trust in Google-Led Initiatives
Safari's slow release cadence (typically tied to OS version upgrades) does leave it more broken and for longer than Firefox, Chrome, Opera and other browsers that are updated more frequently and not tied to the OS.
just recently i ran into incompatibilities with Safari < 14 needing the old-spec matchmedia api:
https://github.com/leeoniya/uPlot/issues/538#issuecomment-87...
-
WebGL charting libraries
If you are showing 100s of thousands of points, I'd still go with canvas eg uPlot. It's a really, really excellent library.
-
[task] Program uplot support into node-red-dashboard (javascript)
The existing node red chart tools is not great. I'd like to be able to use uplot instead. The uplot-charts node should work very much like that charts node built into node-red-dashboard.
-
Optimizing at the CPU instruction level in the browser w. Rust and WebAssembly
super cool!
i've done my share of optimizations and benchmarking charting libs [1] but this goes deeper still.
SVG is not a good choice for large raw datasets when you need performance.
-
Grafana v8.0 Released
> Can you now maybe talk a little bit about the React integration?
do you have a specific question about it?
there are some third party integrations now:
https://github.com/leeoniya/uPlot#third-party-integrations
in general, my stance on the topic has not changed. wrapping a fast imperative lib in a declarative framework facade has significant performance drawbacks. the main CPU & RAM cost of rendering a Grafana dashboard full of uPlot graphs is almost always React (by far).
> Another question: are you considering making uPlot more accessible?
this is a pretty complex challenge for data vis. i don't think this will ever be built into uPlot since the required code to make it actually good would be quite large.
grafana in general will definitely need a better accessibility story, so we will have to figure something out and at minimum provide some kinds of fallback html summary tables. i imagine this will not be a trivial project. while it's easy to summarize a simple bar or pie chart with 5 series, how do you summarize 100 noisey trendlines with 2k points each? how do you summarize a histogram or temporal heatmap?
at the end of the day, the data you feed into uPlot is already there for you to create an accessibility story externally. if you'd like to write some code that can take arbitrary data as input and output something sensible, please open a PR/discussion in Grafana or uPlot.
Hey @leeoniya, great to hear that you've been involved in including uPlot. Can you now maybe talk a little bit about the React integration [1]?
Another question: are you considering making uPlot more accessible? Right now, at least the uPlot demo is inaccessible to screen reader users and only partially accessible to keyboard users.
-
A note from our sponsor - SurveyJS
surveyjs.io | 28 Mar 2024
Stats
leeoniya/uPlot is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of uPlot is JavaScript.