Plotly

Last updated
Plotly
Type Private
Industry Computer software
Founded Montreal, Quebec (2012)
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">MATLAB</span> Numerical computing environment and programming language

MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.

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

In computing, a visual programming language 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.

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

Processing is a free graphical 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.

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

<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">SharePoint</span> Web application platform

SharePoint is a web-based collaborative platform that integrates natively with Microsoft Office. Launched in 2001, SharePoint is primarily sold as a document management and storage system, but the product is highly configurable and its usage varies substantially among organizations.

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 an enterprise grade Java low code platform for building software applications and platforms. WaveMaker Inc. is headquartered in Mountain View, California. For enterprises, WaveMaker is a low code platform that aims to accelerate their app development and IT modernization efforts. For ISVs, it is a consumable low code component that can sit inside their product and offer customizations.

A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of a web browser loading entire new pages. The goal is faster transitions that make the website feel more like a native app.

Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.

<span class="mw-page-title-main">Pyjs</span> Rich Internet application framework

Pyjs, is a rich web application framework for developing client-side web and desktop applications in Python. The resulting applications can be run in a web browser or as standalone desktop applications.

The High-performance Integrated Virtual Environment (HIVE) is a distributed computing environment used for healthcare-IT and biological research, including analysis of Next Generation Sequencing (NGS) data, preclinical, clinical and post market data, adverse events, metagenomic data, etc. Currently it is supported and continuously developed by US Food and Drug Administration, George Washington University, and by DNA-HIVE, WHISE-Global and Embleema. HIVE currently operates fully functionally within the US FDA supporting wide variety (+60) of regulatory research and regulatory review projects as well as for supporting MDEpiNet medical device postmarket registries. Academic deployments of HIVE are used for research activities and publications in NGS analytics, cancer research, microbiome research and in educational programs for students at GWU. Commercial enterprises use HIVE for oncology, microbiology, vaccine manufacturing, gene editing, healthcare-IT, harmonization of real-world data, in preclinical research and clinical studies.

<span class="mw-page-title-main">TensorFlow</span> Machine learning software library

TensorFlow is a free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.

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 JavaScript Graphing Library".
  27. "Plotly Python Graphing Library".
  28. "Plotly R Graphing Library".
  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. https://plotly.com/
  35. "Dash Overview".
  36. "Dash". GitHub . 26 October 2021.
  37. "Dash Enterprise - Easy Installation".
  38. "No-Code Authentication".
  39. "Big Data Pipelines".
  40. "Plotly and NVIDIA Partner to Integrate Dash and RAPIDS". 19 May 2020.
  41. "Data App Workspaces".
  42. "Dash AI App Catalogue".
  43. "Dash Dashboard Engine".
  44. "Dash Design Kit".
  45. "Dash Snapshot Engine".
  46. "Dash Embedding".
  47. "Dash App Manager".
  48. "Dash App Manager".
  49. "Dash App Manager".
  50. "Dash Kubernetes".
  51. "High Performance Computing".