Plotly

Last updated
Plotly
Company type Private
Industry Computer software
Founded2012;12 years ago (2012) in Montreal, Quebec
FounderAlex Johnson
Jack Parmer
Chris Parmer
Matthew Sundquist
Headquarters
Website plotly.com

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 [1] and REST.

Contents

History

Plotly was founded by Alex Johnson, Jack Parmer, Chris Parmer, and Matthew Sundquist. [2]

The founders' backgrounds are in science, energy, and data analysis and visualization. [2] Early employees include Christophe Viau, a Canadian software engineer and Ben Postlethwaite, a Canadian geophysicist. [3] Plotly was named one of the Top 20 Hottest Innovative Companies in Canada by the Canadian Innovation Exchange. [4] Plotly was featured in "startup row" at PyCon 2013, [5] and sponsored the SciPy 2018 conference. [6]

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. [7]

The Boston Globe and Washington Post newsrooms have produced data journalism using Plotly. [8] [9] In 2020, Plotly was named a Best Place to Work by the Canadian SME National Business Awards, and nominated as Business of the Year. [10]

Products

Plotly offers open-source and enterprise products.

A gallery of Plotly graphs Gallery of Plotly Graphs.png
A gallery of Plotly graphs

Data visualization libraries

Plotly provides a collection of supported chart types across several programming languages:

Chart TypeChart NameJavaScript [26] Python [27] R [28] Julia [29]
Basic chartsScatter plotTRUETRUETRUETRUE
Basic chartsLine chartTRUETRUETRUETRUE
Basic chartsBar chartTRUETRUETRUETRUE
Basic chartsPie chartTRUETRUETRUETRUE
Basic chartsBubble chartTRUETRUETRUETRUE
Basic chartsDot plotTRUETRUETRUETRUE
Basic chartsFilled area plotTRUETRUETRUETRUE
Basic chartsHorizontal bar chartTRUETRUETRUETRUE
Basic chartsGantt chartTRUETRUE
Basic chartsSunburst chartTRUETRUETRUETRUE
Basic chartsSankey diagramTRUETRUETRUETRUE
Basic chartsPoint cloudTRUETRUE
Basic chartsTreemapTRUETRUETRUETRUE
Basic chartsTableTRUETRUETRUETRUE
Basic chartsDumbbell plotTRUE
AI and machine learning chartsML regressionTRUE
AI and machine learning chartskNN classificationTRUE
AI and machine learning chartsROC and PR curvesTRUE
AI and machine learning chartsPCA visualizationTRUE
AI and machine learning chartst-SNE and UMAP projectionsTRUE
Statistical chartsBox plotTRUETRUETRUETRUE
Statistical chartsHistogramTRUETRUETRUETRUE
Statistical chartsDistplotTRUE
Statistical charts2D density plotTRUETRUE
Statistical charts2D histogramTRUETRUETRUETRUE
Statistical charts2D histogram contourTRUETRUETRUETRUE
Statistical chartsScatterplot matrixTRUE
Statistical chartsFacet and trellis plotTRUE
Statistical chartsTree plotTRUE
Statistical chartsSPC control chartTRUETRUE
Statistical chartsViolin plotTRUETRUETRUETRUE
Statistical chartsParallel categories diagramTRUETRUETRUE
Statistical chartsSplomTRUETRUETRUE
Statistical chartsMarginal distribution plotTRUE
Statistical chartsStrip chartTRUE
Scientific chartsContour plotTRUETRUETRUETRUE
Scientific chartsHeatmapTRUETRUETRUETRUE
Scientific chartsImshowTRUE
Scientific chartsTernary plotTRUETRUETRUETRUE
Scientific chartsParallel coordinates plotTRUETRUETRUETRUE
Scientific chartsLog plotTRUETRUETRUETRUE
Scientific chartsDendrogramTRUE
Scientific chartsAnnotated heatmapTRUE
Scientific chartsWebGL heatmapTRUETRUETRUE
Scientific chartsWind rose chartTRUETRUETRUE
Scientific chartsTernary contour plotTRUETRUETRUETRUE
Scientific chartsTernary overlayTRUE
Scientific chartsQuiver plotTRUE
Scientific chartsStreamline plotTRUE
Scientific chartsNetwork graphTRUETRUE
Scientific chartsRadar chartTRUETRUETRUETRUE
Scientific chartsCarpet plotTRUETRUETRUETRUE
Scientific chartsCarpet scatter plotTRUETRUETRUETRUE
Scientific chartsCarpet contour plotTRUETRUETRUETRUE
Scientific chartsPolar chartTRUETRUETRUETRUE
Scientific chartsImage data displayTRUETRUETRUE
Financial chartsWaterfall chartTRUETRUETRUETRUE
Financial chartsIndicatorTRUETRUETRUE
Financial chartsCandlestick chartTRUETRUETRUETRUE
Financial chartsFunnel chartTRUETRUETRUETRUE
Financial chartsTime seriesTRUETRUETRUETRUE
Financial chartsOHLC chartTRUETRUETRUETRUE
Financial chartsGauge chartTRUETRUETRUETRUE
Financial chartsBullet chartTRUETRUETRUETRUE
MapsMapbox map layersTRUETRUETRUETRUE
MapsMapbox density heatmapTRUETRUETRUETRUE
MapsMapbox choropleth mapTRUETRUETRUETRUE
MapsChoropleth mapTRUETRUETRUETRUE
MapsLines on mapsTRUETRUETRUETRUE
MapsLines on MapboxTRUETRUE
MapsBubble mapsTRUETRUETRUETRUE
MapsScatter plots on mapsTRUETRUETRUETRUE
MapsScatter plots on MapboxTRUETRUETRUETRUE
MapsFilled area on mapTRUETRUETRUETRUE
MapsMapbox hexbinTRUE
3D charts3D scatter plotTRUETRUETRUETRUE
3D chartsRibbon plotTRUETRUE
3D charts3D surface plotTRUETRUETRUETRUE
3D charts3D mesh plotTRUETRUETRUETRUE
3D charts3D line plotTRUETRUETRUETRUE
3D chartsTri-surf plotTRUETRUETRUETRUE
3D charts3D cluster graphTRUETRUE
3D charts3D cone plotTRUETRUETRUETRUE
3D charts3D streamtube plotTRUETRUETRUETRUE
3D charts3D isosurface plotTRUETRUETRUETRUE
3D charts3D bubble chartTRUE
3D charts3D volume plotTRUE
SubplotsSubplotsTRUETRUETRUETRUE
Multiple AxesMultiple AxesTRUETRUETRUETRUE

Dash

Dash is a Python framework built on top of React, a JavaScript library. [30] 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 (the back end/server) of Dash was built to be lightweight and stateless [allowing] multiple back-end languages to coexist on an equal footing". [31] It is possible to integrate D3.js charts as Dash components. [32] Dash provides the default CSS (and HTML and JavaScript, and you can add your own), but for custom styling Dash applications CSS can be added, or Dash Enterprise used. [33]

Dash Enterprise

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

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. [37] 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. [38] Dash Enterprise connects to major big data backends, including Salesforce, PostgreSQL, Databricks via PySpark, Snowflake, Dask, Datashader, and Vaex. [39] In 2020, Plotly partnered with NVIDIA to integrate Dash with RAPIDS, [40] 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. [41] 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. [42] [43] [44] [45]

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. [46] [47] Deployed applications can be managed and accessed in a single portal called App Manager, where administrators can control user authentication and view usage analytics. [48] [49] Dash Enterprise scales horizontally with Kubernetes. [50] Jobs queuing, GPU acceleration, and CPU parallelization support high performance computing requirements. [51] Plotly also offers professional services for application development and workshop training.

Related Research Articles

<span class="mw-page-title-main">NumPy</span> Python library for numerical programming

NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. The predecessor of NumPy, Numeric, was originally created by Jim Hugunin with contributions from several other developers. In 2005, Travis Oliphant created NumPy by incorporating features of the competing Numarray into Numeric, with extensive modifications. NumPy is open-source software and has many contributors. NumPy is a NumFOCUS fiscally sponsored project.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

<span class="mw-page-title-main">Processing</span> Free graphics library

Processing is a free graphics library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.

Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.

<span class="mw-page-title-main">Matplotlib</span> Library for creating static, animated, and interactive visualizations in Python.

Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy. It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like Tkinter, wxPython, Qt, or GTK. There is also a procedural "pylab" interface based on a state machine, designed to closely resemble that of MATLAB, though its use is discouraged. SciPy makes use of Matplotlib.

<span class="mw-page-title-main">IPython</span> Advanced interactive shell for Python

IPython is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history. IPython provides the following features:

<span class="mw-page-title-main">SharePoint</span> Web application platform

SharePoint is a collection of enterprise content management and knowledge management tools developed by Microsoft. Launched in 2001, it was initially bundled with Windows Server as Windows SharePoint Server, then renamed to Microsoft Office SharePoint Server, and then finally renamed to SharePoint. It is provided as part of Microsoft 365, but can also be configured to run as on-premises software.

Enthought, Inc. is a software company based in Austin, Texas, United States that develops scientific and analytic computing solutions using primarily the Python programming language. It is best known for the early development and maintenance of the SciPy library of mathematics, science, and engineering algorithms and for its Python for scientific computing distribution Enthought Canopy.

<span class="mw-page-title-main">WaveMaker</span> Low-code programming platform

WaveMaker is a Java-based low-code development platform designed for building software applications and platforms. The company, WaveMaker Inc., is based in Mountain View, California. The platform is intended to assist enterprises in speeding up their application development and IT modernization initiatives through low-code capabilities. Additionally, for independent software vendors (ISVs), WaveMaker serves as a customizable low-code component that integrates into their products.

The Grid Analysis and Display System (GrADS) is an interactive desktop tool that is used for easy access, manipulation, and visualization of earth science data. The format of the data may be either binary, GRIB, NetCDF, or HDF-SDS. GrADS has been implemented worldwide on a variety of commonly used operating systems and is freely distributed over the Internet.

Heroku is a cloud platform as a service (PaaS) supporting several programming languages. As one of the first cloud platforms, Heroku has been in development since June 2007, when it supported only the Ruby programming language, but now also supports Java, Node.js, Scala, Clojure, Python, PHP, and Go. For this reason, Heroku is said to be a polyglot platform as it has features for a developer to build, run and scale applications in a similar manner across most of these languages. Heroku was acquired by Salesforce in 2010 for $212 million.

Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Some of the most popular service providers are AWS Amplify and Firebase.

<span class="mw-page-title-main">SAP HANA</span> Database management system by SAP

SAP HANA is an in-memory, column-oriented, relational database management system developed and marketed by SAP SE. Its primary function as the software running a database server is to store and retrieve data as requested by the applications. In addition, it performs advanced analytics and includes extract, transform, load (ETL) capabilities as well as an application server.

Medical open network for AI (MONAI) is an open-source, community-supported framework for Deep learning (DL) in healthcare imaging. MONAI provides a collection of domain-optimized implementations of various DL algorithms and utilities specifically designed for medical imaging tasks. MONAI is used in research and industry, aiding the development of various medical imaging applications, including image segmentation, image classification, image registration, and image generation.

References

  1. "Plotly Javascript". plotly.com. Retrieved 2023-03-29.
  2. 1 2 Czikk, Joseph (July 29, 2013). "Ex-Silicon Valley kids to launch web startup in Montreal". Montreal Gazette. Archived from the original on 2013-11-13. Retrieved 2013-10-29.
  3. "About". Plotly. Retrieved 2013-10-29.
  4. Levy, Carmi (November 11, 2013). "CIX 2013 celebrates Canada's innovation economy". Yahoo! Finance Canada.
  5. Curtin, Brian (March 11, 2013). "Announcing Our Startup Row Selections". PyCon.
  6. "Sponsors | SciPy 2018" . Retrieved 2018-08-06.
  7. "Plotly raises $5.5 million Series A from Rho Ventures, MHS Capital, Real Ventures, others". BetaKit. Retrieved 2018-08-06.
  8. "Where trucks crash on Storrow and Memorial drives - The Boston Globe". BostonGlobe.com. Retrieved 2018-08-06.
  9. "A hunger expert explains what happens now that food stamps are cut". Washington Post. Retrieved 2018-08-06.
  10. "Plotly Named Best Place to Work" (Press release). 4 February 2020.
  11. "Dash by Plotly" . Retrieved 2018-07-31.
  12. "Dash Enterprise". Plotly. Retrieved 2014-09-20.
  13. Machlis, Sharon (November 6, 2013). "Beauty and brains: Plotly combines dataviz and serious statistical analysis". Computer World. Archived from the original on 2013-12-02. Retrieved 2013-11-07.
  14. "Chart Studio".
  15. "Plotly's Julia library". Plotly. Retrieved 2014-10-12.
  16. "Plotly's Node.js library". Plotly. Retrieved 2014-10-12.
  17. "Plotly's R Library". Plotly. Retrieved 2014-10-12.
  18. "Plotly's MATLAB library". Plotly. Retrieved 2014-10-12.
  19. "Graphical Representations of Data". Python Wiki. November 4, 2013.
  20. Romano, Zoe (November 4, 2013). "Create Interactive Graphs Logging Arduino Data With Plotly". Arduino Blog.
  21. "APIs". Plotly. Retrieved 2013-10-29.
  22. "Plotly IPython gallery". IPython Notebook Viewer. Retrieved 2013-12-10.
  23. "Online, interactive Matplotlib graphs". Plotly. Retrieved 2014-10-12.
  24. "Online, interactive ggplot2 graphs". Plotly. Retrieved 2014-10-12.
  25. "Online, interactive Igor Pro graphs". Plotly. Retrieved 2014-10-12.
  26. "Plotly". plotly.com.
  27. "Plotly Python Graphing Library".
  28. "Plotly". plotly.com.
  29. "Plotly.jl". GitHub . 14 October 2021.
  30. "React for Python Developers | Dash for Python Documentation | Plotly".
  31. plotly (2020-10-26). "Announcing Dash for Julia". Medium. Retrieved 2021-03-19.
  32. "Integrating D3.js into Dash Components | Dash for Python Documentation | Plotly".
  33. "Adding CSS & JS and Overriding the Page-Load Template | Dash for Python Documentation | Plotly". dash.plotly.com. Retrieved 2021-03-19.
  34. "Data Apps for Production | Plotly". plotly.com.
  35. "Dash Enterprise: The Premier Data App Platform for Python". plotly.com.
  36. "Dash". GitHub . 26 October 2021.
  37. "Dash Enterprise - Guided Installation". plotly.com.
  38. "No-Code Authentication". plotly.com.
  39. "Big Data Pipelines".
  40. "Plotly and NVIDIA Partner to Integrate Dash and RAPIDS". 19 May 2020.
  41. "Data App Workspaces". plotly.com.
  42. "Dash AI App Catalogue".
  43. "Dash Dashboard Engine".
  44. "Dash Design Kit".
  45. "Dash Snapshot Engine".
  46. "Dash Embedding".
  47. "Dash App Manager". plotly.com.
  48. "Dash App Manager".
  49. "Dash App Manager".
  50. "Dash Kubernetes".
  51. "High Performance Computing".