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">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, 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.

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">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">Google App Engine</span> Cloud-based web application hosting service

Google App Engine is a cloud computing platform used as a service for developing and hosting of web applications. Applications are sandboxed and run across multiple Google-managed servers. GAE supports automatic scaling for web applications, allocating more resources to the web application as the amount of requests increases. It was released as a preview in April 2008, and launched officially in September 2011.

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

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.

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.

Google APIs are application programming interfaces (APIs) developed by Google which allow communication with Google Services and their integration to other services. Examples of these include Search, Gmail, Translate or Google Maps. Third-party apps can use these APIs to take advantage of or extend the functionality of the existing services.

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".