uPlot Alternatives

Similar projects and alternatives to uPlot

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better uPlot alternative or higher similarity.

Suggest an alternative to uPlot

uPlot reviews and mentions

Posts with mentions or reviews of uPlot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-13.
  • Show HN: Inflation-adjusted stock charts – Total Real Returns
    4 projects | news.ycombinator.com | 13 Jul 2022

    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).



    uPlot https://github.com/leeoniya/uPlot

    Just a sprinkle of inline JS+CSS on the page.

  • It's always been you, Canvas2D
    12 projects | news.ycombinator.com | 4 Mar 2022
    you can use matchMedia to detect devicePixelRatio changes and re-sync:


    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
    2 projects | news.ycombinator.com | 6 Nov 2021
    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:


  • JS library for graphing huge amounts of data
    1 project | reddit.com/r/webdev | 30 Oct 2021
    uPlot will handle this. https://github.com/leeoniya/uPlot
  • WebGL charting libraries
    2 projects | reddit.com/r/webgl | 27 Oct 2021
    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)
    2 projects | reddit.com/r/slavelabour | 24 Jul 2021
    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
    3 projects | news.ycombinator.com | 4 Jul 2021
    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.

    [1] https://github.com/leeoniya/uPlot#performance

  • Grafana v8.0 Released
    10 projects | news.ycombinator.com | 8 Jun 2021
    > 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:


    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.


    10 projects | news.ycombinator.com | 8 Jun 2021
    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.

    [1] https://github.com/leeoniya/uPlot/issues/283

  • React pattern for very fast data fetching and rendering?
    2 projects | reddit.com/r/reactjs | 18 Mar 2021
    I contribute to a dashboard tool for a robotics competition. The data is sent from robot to a react client via web socket. So protocol is already in place. Data transfer isn't a problem since it's via local network. Works great. Since it's a dashboard, there are just a number of components/widgets with isolated states that subscribe to the data. The way this is structured isn't great but I didn't write the original implementation. So we can just assume and treat the component in isolation with a subscription to the necessary socket data. Important thing to note that the socket data is passed down through props and redux. I know. Not ideal. I didn't make it. So there isn't a direct subscription from the socket to the component. I will probably rewrite this in the future but its quite a lot of work and the rest of the product works great. So as of now, new data is received via prop changes. I'm just trying to graph the data at the moment. Graphing already exists actually. There is a rudimentary canvas graph which essentially just draws and rerenders on props changes (the props changing on new data in the subscription). The prop changes aren't throttled or anything. The performance is fine it's a very simple canvas graph. However, I would like to replace it with uPlot (https://github.com/leeoniya/uPlot) to enable some cool features. uPlot doesn't have any react integration or anything. Just your standard HTML + JS canvas graph. I want to throttle rendering to the graph but I'm not entirely sure how that pattern works with react. Initial thought was to queue data in a ref and flush to useState. Data would be sent to the graph via useEffect changes. I know this is premature optimization. I plan to start with the basics and iterate. I was just asking ahead of time really. It was an interesting thing to think about. I'm not super experienced with React so not enough into the weeds where I can come up with something that appropriately decouples state and UI. Even though UI should be a function of state.
  • How can I build this? A scrolling navigator that pans across the main view?
    1 project | reddit.com/r/reactjs | 5 Mar 2021
    uPlot is essentially an improved, modern version of dygraphs
  • Is It Possible For React Native To Render A Line
    1 project | reddit.com/r/reactnative | 7 Feb 2021
    I was recently looking for a convenient solution to do the same, and found the performance of all SVG-based libraries to be very low. Having had great results with canvas-based libraries on the web, I made a small wrapper around React Native's WebView to allow Chart.js and uPlot to be used in React Native: react-native-canvas-charts.
  • Your prefered JS Library for Charts/Diagrams? (2021 Edition)
    6 projects | reddit.com/r/laravel | 17 Jan 2021
    How performant is it? (compared to stats you find here)
    6 projects | reddit.com/r/laravel | 17 Jan 2021
    Related performance, https://github.com/leeoniya/uPlot provides a useful overview of various famous charting libraries (including HighCharts).
  • Ask HN: What are the best charting / graphing JavaScript tools
    2 projects | news.ycombinator.com | 23 Dec 2020
    > did i spell it right

    almost ;)



Basic uPlot repo stats
8 days ago

leeoniya/uPlot is an open source project licensed under MIT License which is an OSI approved license.

Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
Find remote jobs at our new job board 99remotejobs.com. There is 0 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.