Plotly

What is Plotly?

plotly.py, colloquially referred to as Plotly, is an interactive, open-source, and browser-based graphing library. It offers Python-based charting, powered by plotly.js. The library ships with over 30 chart types, including scientific charts, 3D graphs, statistical charts, SVG maps, financial charts, and more. Plotly Inc. the company responsible for the development and maintenance of the library was founded by Alex Johnson, Jack Parmer, Chris Parmer, and Matthew Sundquist. Plotly Inc. was featured in "startup row" at PyCon 2013,[4] and sponsored the SciPy 2018 conference. The company now is headquartered in Montreal, Quebec.

What is Dash?

Dash is another open-source Python framework from Plotly Inc., which is manly used for building ML and data science web apps. It is built on top of plotly.py, and ties modern UI elements such as dropdowns, sliders, and graphs directly to your analytical Python code. The enterprise version of Dash provides several other features including scalable hosting and deployment.

Plotly vs. Matplotlib and Bokeh

All three of these are very popular data visualization packages. While Matplotlib is one of the earliest and most robust visualization tools in Python, Plotly and Bokeh provide much more interactive and appealing visualizations to the user.

Plotly Matplotlib Bokeh
Ease of Use
Convenient in most situations Can be tedious Very simple
Number of Charts Supported
30+ 50+ 80+
Interactive
Yes Yes No
Dashboards
Dash server Bokeh server No dashboard
Supports 3D Graphs
Yes No Yes
Supported Programming Languages
Javascript, Python, R, Julia Python, R, Scala Python

Plotly and Domino

Domino comes with built-in support for Dash and enables users to leverage the powerful features of this framework for the purposes of data visualization and ML models interaction. Publishing a Dash web application is a fairly straightforward process, which involves the following steps:.

  • Configure a Domino compute environment with the necessary dependencies to publish a Dash application
  • Create a project and set it up for App publishing
  • Publish an App to the Domino launchpad
  • Observe how other users in Domino can use the App

You can find the detailed steps here.

Additional Resources