Plotly


Plotly is a technical computing company headquartered in Montreal, Quebec, that develops online data analytics and visualization tools. Plotly provides online graphing, analytics, and statistics tools for individuals and collaboration, as well as scientific graphing libraries for Python, R, MATLAB, Perl, Julia, Arduino, JavaScript and REST.

History

Plotly was founded by Alex Johnson, Jack Parmer, Chris Parmer, and Matthew Sundquist.
The founders' backgrounds are in science, energy, and data analysis and visualization. Early employees include Christophe Viau, a Canadian software engineer and Ben Postlethwaite, a Canadian geophysicist. Plotly was named one of the Top 20 Hottest Innovative Companies in Canada by the Canadian Innovation Exchange. Plotly was featured in "startup row" at PyCon 2013, and sponsored the SciPy 2018 conference.
Plotly raised $5.5 million during its Series A funding, led by MHS Capital, Siemens Venture Capital, Rho Ventures, Real Ventures, and Silicon Valley Bank.
The Boston Globe and Washington Post newsrooms have produced data journalism using Plotly. In 2020, Plotly was named a Best Place to Work by the Canadian SME National Business Awards, and nominated as Business of the Year.

Products

Plotly offers open-source and enterprise products.
  • Dash is an open-source Python, R, and Julia framework for building web-based analytic applications. Many specialized open-source Dash libraries exist that are tailored for building domain-specific Dash components and applications. Some examples are Dash DAQ, for building data acquisition GUIs to use with scientific instruments, and Dash Bio, which enables users to build custom chart types, sequence analysis tools, and 3D rendering tools for bioinformatics applications.
  • Dash Enterprise is Plotly's paid product for building, testing, deploying, managing and scaling Dash applications organization-wide.
  • Chart Studio Cloud is a free, online tool for creating interactive graphs. It has a point-and-click graphical user interface for importing and analyzing data into a grid and using stats tools. Graphs can be embedded or downloaded.
  • Chart Studio Enterprise is a paid product that allows teams to create, style, and share interactive graphs on a single platform. It offers expanded authentication and file export options, and does not limit sharing and viewing.
  • Data visualization libraries Plotly.js is an open-source JavaScript library for creating graphs and powers Plotly.py for Python, as well as Plotly.R for R, MATLAB, Node.js, Julia, and Arduino and a REST API. Plotly can also be used to style interactive graphs with Jupyter notebook.
  • Figure converters which convert matplotlib, ggplot2, and IGOR Pro graphs into interactive, online graphs.

Data visualization libraries

Plotly provides a collection of supported chart types across several programming languages:
Chart TypeChart nameJavaScriptPythonRJulia
Basic chartsScatter plot
Basic chartsLine chart
Basic chartsBar chart
Basic chartsPie chart
Basic chartsBubble chart
Basic chartsDot plot
Basic chartsFilled area plot
Basic chartsHorizontal bar chart
Basic chartsGantt chart
Basic chartsSunburst chart
Basic chartsSankey diagram
Basic chartsPoint cloud
Basic chartsTreemap
Basic chartsTable
Basic chartsDumbbell plot
AI and machine learning chartsML regression
AI and machine learning chartskNN classification
AI and machine learning chartsROC and PR curves
AI and machine learning chartsPCA visualization
AI and machine learning chartst-SNE and UMAP projections
Statistical chartsBox plot
Statistical chartsHistogram
Statistical chartsDistplot
Statistical charts2D density plot
Statistical charts2D histogram
Statistical charts2D histogram contour
Statistical chartsScatterplot matrix
Statistical chartsFacet and trellis plot
Statistical chartsTree plot
Statistical chartsSPC control chart
Statistical chartsViolin plot
Statistical chartsParallel categories diagram
Statistical chartsSplom
Statistical chartsMarginal distribution plot
Statistical chartsStrip chart
Scientific chartsContour plot
Scientific chartsHeatmap
Scientific chartsImshow
Scientific chartsTernary plot
Scientific chartsParallel coordinates plot
Scientific chartsLog plot
Scientific chartsDendrogram
Scientific chartsAnnotated heatmap
Scientific chartsWebGL heatmap
Scientific chartsWind rose chart
Scientific chartsTernary contour plot
Scientific chartsTernary overlay
Scientific chartsQuiver plot
Scientific chartsStreamline plot
Scientific chartsNetwork graph
Scientific chartsRadar chart
Scientific chartsCarpet plot
Scientific chartsCarpet scatter plot
Scientific chartsCarpet contour plot
Scientific chartsPolar chart
Scientific chartsImage data display
Financial chartsWaterfall chart
Financial chartsIndicator
Financial chartsCandlestick chart
Financial chartsFunnel chart
Financial chartsTime series
Financial chartsOHLC chart
Financial chartsGauge chart
Financial chartsBullet chart
MapsMapbox map layers
MapsMapbox density heatmap
MapsMapbox choropleth map
MapsChoropleth map
MapsLines on maps
MapsLines on Mapbox
MapsBubble maps
MapsScatter plots on maps
MapsScatter plots on Mapbox
MapsFilled area on map
MapsMapbox hexbin
3D charts3D scatter plot
3D chartsRibbon plot
3D charts3D surface plot
3D charts3D mesh plot
3D charts3D line plot
3D chartsTri-surf plot
3D charts3D cluster graph
3D charts3D cone plot
3D charts3D streamtube plot
3D charts3D isosurface plot
3D charts3D bubble chart
3D charts3D volume plot
SubplotsSubplots
Multiple AxesMultiple Axes

Dash

Dash is a Python framework built on top of React, a JavaScript library. But Dash also works for R, and most recently supports Julia, and while still described a Python framework, Python isn't used for the other languages, "describing Dash as a Python framework misses a key feature of its design: the Python side of Dash was built to be lightweight and stateless multiple back-end languages to coexist on an equal footing". It is possible to integrate D3.js charts as Dash components. Dash provides the default CSS, but for custom styling Dash applications CSS can be added, or Dash Enterprise used.

Dash Enterprise

Dash Enterprise is Plotly's paid product for building, testing, deploying, managing and scaling Dash applications organization-wide. The product integrates with enterprise IT systems to enable organizations to build, deploy and scale low-code Dash applications. With open-source Dash, analytic applications can be run from a local machine, but cannot be easily accessed by others in the organization.

Enterprise IT integration

Dash Enterprise installs on cloud environments and on-premises. Amazon Web Services, Google Cloud Platform, and Microsoft Azure are supported, as are multiple Linux on-premises servers.
Authentication integrations include LDAP, AD, PKI, Okta, SAML, OAuth2, SSO, and email authentication, and Dash application access is managed through a GUI rather than code.
Dash Enterprise connects to major big data backends, including Salesforce, PostgreSQL, Databricks via PySpark, Snowflake, Dask, Datashader, and Vaex. In 2020, Plotly partnered with NVIDIA to integrate Dash with RAPIDS, and NVIDIA participated in Plotly's Series C funding round.

Low-code capabilities

Dash Enterprise enables low-code development of Dash applications, which is not possible with open-source Dash. Enterprise users can write applications in multiple development environments, including Jupyter Notebook. Dash Enterprise ships with several “development engines” for drag-and-drop application editing, application design, and automated reporting, as well as dozens of artificial intelligence and machine learning application templates.

Deployment and scaling

Dash application code is deployed to Dash Enterprise using the git-push command. Dash application deployments are containerized to avoid dependency conflicts, and can be embedded in existing web platforms without iframes.
Deployed applications can be managed and accessed in a single portal called App Manager, where administrators can control user authentication and view usage analytics.
Dash Enterprise scales horizontally with Kubernetes. Jobs queuing, GPU acceleration, and CPU parallelization support high performance computing requirements.
Plotly also offers professional services for application development and workshop training.