plot VS framework

Compare plot vs framework and see what are their differences.

plot

A concise API for exploratory data visualization implementing a layered grammar of graphics (by observablehq)

framework

A static site generator for data apps, dashboards, reports, and more. Observable Framework combines JavaScript on the front-end for interactive graphics with any language on the back-end for data analysis. (by observablehq)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
plot framework
38 9
3,862 1,805
3.3% 27.1%
9.1 9.9
6 days ago 2 days ago
HTML TypeScript
ISC License ISC License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

plot

Posts with mentions or reviews of plot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-25.
  • Vega-Altair: Declarative Visualization in Python
    9 projects | news.ycombinator.com | 25 Feb 2024
    I love Vega(-lite) / Altair, the grammar of graphics plotting system is really great to build any kind of chart even when it wasn't thought through by the authors of the library. There are other wrappers for languages that lack viz libraries, such as Elixir / Livebook [0]

    However, when I used it a couples years back it struggled with large vizs, I think due to Vega(-lite)'s way of embedding the data in the viz artifact.

    Also, interactive is nice but often I just need a quick static plot, and matplotlib is more convenient for this, you can easily see the png in any environment etc.

    These days I'm eager to see an Observable Plot [1] wrapper for Python !

    [0] https://github.com/livebook-dev/vega_lite

    [1] https://github.com/observablehq/plot

  • Observable 2.0, a static site generator for data apps
    17 projects | news.ycombinator.com | 15 Feb 2024
    Good questions.

    1. It’s just JavaScript so you can fetch stuff dynamically too (see https://observablehq.com/framework/lib/duckdb). But yeah, only client-side. (Though see https://github.com/observablehq/framework/issues/234.)

    2. Sure, it’s all open source, I bet you could make that work. Or `yarn deploy` to Observable and configure sharing there (though it wouldn’t let you charge others).

    3. Yup. Which is part of the appeal of model of running data loaders at build time: you can query some private data and viewers would only be able to see the final result set. (The lack of something like this has always been a huge problem for Observable notebooks. You’d make some great query-driven charts and then couldn’t make it public without some awkward manual dance of downloading and re-uploading a file to a fork of the notebook.)

    4. I wish I knew! It’s being tracked here https://github.com/observablehq/plot/issues/1711. Lately there’s been a lot more work on Framework naturally but now that that’s out…

    5. Another good question. We’re definitely interested in tailoring it more to this sort of use case but lots is TBD!

  • Using Deno with Jupyter Notebook to build a data dashboard
    5 projects | dev.to | 17 Jan 2024
    Observable Plot: A library built on top of D3.js used to visualize data and iterate more quickly on different plot chart
  • What website frameworks are used to build these websites?
    3 projects | /r/webdev | 9 Dec 2023
    https://observablehq.com/
  • Yandex open sourced it's BI tool DataLens
    4 projects | news.ycombinator.com | 26 Sep 2023
    Observable Plot [0] is also nice. AFAIU it's the same library powering the visualizations within Observable itself.

    [0] https://observablehq.com/plot/

  • Best React charting libraries for data visualizations
    1 project | /r/react | 27 May 2023
    I liked observablehq plot library: https://github.com/observablehq/plot
  • Bank Failures Visualized
    1 project | news.ycombinator.com | 3 May 2023
  • Observable Plot: A JavaScript library for exploratory data visualization
    1 project | /r/patient_hackernews | 28 Apr 2023
    1 project | /r/hackernews | 28 Apr 2023
  • Observable Plot: The JavaScript library for exploratory data visualization
    1 project | /r/hypeurls | 27 Apr 2023

framework

Posts with mentions or reviews of framework. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-03.
  • Observable Framework – The best dashboards are built with code
    1 project | news.ycombinator.com | 6 Mar 2024
    1 project | news.ycombinator.com | 3 Mar 2024
  • Observable Framework 1.1
    1 project | news.ycombinator.com | 5 Mar 2024
  • Interesting Ideas in Observable Framework
    5 projects | news.ycombinator.com | 3 Mar 2024
    Thanks for the feedback. We have a PR open to make it easier to register new interpreters (without needing to fallback to .sh or .exe); it’ll let you specify the interpreter associated with a given file extension (e.g., .kts for Kotlin). https://github.com/observablehq/framework/pull/935

    As for inputs-driving-data-loaders, that does go against the grain a bit since Framework favors static data snapshots so that the built site is self-contained and performant. But a technique that works well is to generate Parquet files in data loaders representing the superset of data that you want to interact with, and then using DuckDB/SQL in the client to extract the subset you want to visualize. This tends to perform well, though obviously it’s dependent on the size of the superset you want to interact with.

  • Observable Framework: A static site generator for data apps, dashboards, reports
    1 project | news.ycombinator.com | 15 Feb 2024
  • Observable 2.0, a static site generator for data apps
    17 projects | news.ycombinator.com | 15 Feb 2024
    From the Observable Framework point of view, you’re very welcome to use Apache ECharts or any other library instead of Observable Plot, since you can import whatever you like and it’s all just JavaScript.

    Since there was a lot of interest in this thread, Mike added a page to the docs with an ECharts example: https://observablehq.com/framework/lib/echarts

    There are two pieces of that example code specific to Framework: the html`` tagged template literal creates a DOM element (see https://github.com/observablehq/htl, also usable outside Framework), and the display function inserts it into the document above the code block (see https://observablehq.com/framework/javascript/display). Note that, whereas Observable Plot takes an options object and returns a DOM element, ECharts instead takes a DOM element and mutates it — but in general they should be equally easy to use in Framework.

    Like Plot (and Vega-Lite, another great option), ECharts is also now one of Framework’s built-in “recommended libraries” (see https://observablehq.com/framework/javascript/imports#implic...), meaning that if you reference `echarts` Framework will lazy-load it for you. Adding that was a two-line diff: https://github.com/observablehq/framework/pull/811/files#dif.... But I wanna emphasize that Framework doesn’t have to explicitly “support” a given library for you to use it. “Supporting” in this case just means the convenience of saving you a one-line import statement. But don’t wait for our blessing!! Use whatever.

What are some alternatives?

When comparing plot and framework you can also consider the following projects:

plot-react - React wrapper for @observablehq/plot

evidence - Business intelligence as code: build fast, interactive data visualizations in pure SQL and markdown

blazor-samples - Explore and learn Syncfusion Blazor components using large collection of demos, example applications and tutorial samples

owid-grapher - A platform for creating interactive data visualizations

echarts - Apache ECharts is a powerful, interactive charting and data visualization library for browser

dataflow - An experimental self-hosted Observable notebook editor, with support for FileAttachments, Secrets, custom standard libraries, and more!

go-echarts - 🎨 The adorable charts library for Golang

obsplot - Observable Plot bindings for R

d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

datasette-dashboards - Datasette plugin providing data dashboards from metadata

gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

opendata.cern.ch - Source code for the CERN Open Data portal