plotly

{{Short description|Canadian computing company}}

{{Primary sources|date=September 2024}}{{Infobox company

| name = Plotly

| logo = Plotly-logo.png

| type = Private

| industry = Computer software

| foundation = {{start date and age|2012}} in Montreal, Quebec

| founder = Alex Johnson
Jack Parmer
Chris Parmer
Matthew Sundquist

| location_country = Canada

| homepage = {{URL|https://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{{Cite web |title=Plotly Javascript |url=https://plotly.com/javascript/ |access-date=2023-03-29 |website=plotly.com}} and REST.

History

Plotly was founded by Alex Johnson, Jack Parmer, Chris Parmer, and Matthew Sundquist.{{cite news|url=https://montrealgazette.com/business/Silicon+Valley+kids+launch+startup+Montreal/8722310/story.html|title=Ex-Silicon Valley kids to launch web startup in Montreal|work=Montreal Gazette|last=Czikk|first=Joseph|date=July 29, 2013|access-date=2013-10-29|archive-url=https://web.archive.org/web/20131113041705/http://www.montrealgazette.com/business/Silicon+Valley+kids+launch+startup+Montreal/8722310/story.html|archive-date=2013-11-13|url-status=dead}}

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.{{cite web|url=http://plot.ly/about |title=About |publisher=Plotly |date= |accessdate=2013-10-29}} Plotly was named one of the Top 20 Hottest Innovative Companies in Canada by the Canadian Innovation Exchange.{{cite news|url=http://ca.finance.yahoo.com/blogs/dashboard/cix-2013-celebrates-canada-innovation-economy-130113454.html|title=CIX 2013 celebrates Canada's innovation economy | work=Yahoo! Finance Canada|last=Levy|first=Carmi|date=November 11, 2013}} Plotly was featured in "startup row" at PyCon 2013,{{cite news|url=http://pycon.blogspot.in/2013/03/announcing-our-startup-row-selections.html|title=Announcing Our Startup Row Selections | work=PyCon|last=Curtin|first=Brian|date=March 11, 2013}} and sponsored the SciPy 2018 conference.{{Cite news|url=https://scipy2018.scipy.org/ehome/299527/648130/|title=Sponsors {{!}} SciPy 2018|access-date=2018-08-06}}

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.{{Cite news|url=https://betakit.com/plotly-raises-5-5-million-series-a-from-mhs-capital-real-ventures-others/|title=Plotly raises $5.5 million Series A from Rho Ventures, MHS Capital, Real Ventures, others|work=BetaKit|access-date=2018-08-06|language=en-CA}}

The Boston Globe and Washington Post newsrooms have produced data journalism using Plotly.{{Cite news|url=https://www.bostonglobe.com/metro/2014/07/31/where-trucks-crash-storrow-and-memorial-drives/A1rQpXZtcV4PIPPmSDNxKI/story.html|title=Where trucks crash on Storrow and Memorial drives - The Boston Globe|work=BostonGlobe.com|access-date=2018-08-06}}{{Cite news|url=https://www.washingtonpost.com/news/wonk/wp/2013/11/05/a-hunger-expert-explains-what-happens-now-that-food-stamps-are-cut/|title=A hunger expert explains what happens now that food stamps are cut|newspaper=Washington Post|language=en|access-date=2018-08-06}} In 2020, Plotly was named a Best Place to Work by the Canadian SME National Business Awards, and nominated as Business of the Year.{{Cite press release|url=https://www.globenewswire.com/news-release/2020/02/04/1979521/0/en/Plotly-Named-Best-Place-to-Work.html|title = Plotly Named Best Place to Work|date = 4 February 2020}}

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.{{Cite news|url=https://plot.ly/products/dash/|title=Dash by Plotly|access-date=2018-07-31}}
  • Dash Enterprise is Plotly’s paid product for building, testing, deploying, managing and scaling Dash applications organization-wide.{{cite web|url=https://plotly.com/dash/|title=Dash Enterprise |publisher=Plotly |date= |accessdate=2014-09-20}}
  • 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.{{cite news|url=http://blogs.computerworld.com/business-intelligenceanalytics/23078/beauty-and-brains-plotly-combines-dataviz-and-serious-statistical-analysis-cloud|title=Beauty and brains: Plotly combines dataviz and serious statistical analysis|work=Computer World|last=Machlis|first=Sharon|date=November 6, 2013|access-date=2013-11-07|archive-url=https://web.archive.org/web/20131202232439/http://blogs.computerworld.com/business-intelligenceanalytics/23078/beauty-and-brains-plotly-combines-dataviz-and-serious-statistical-analysis-cloud|archive-date=2013-12-02|url-status=dead}} 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.{{Cite web|url=https://plotly.com/chart-studio/|title = Chart Studio}}
  • 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.{{cite web|url=https://plot.ly/julia/ |title=Plotly's Julia library |publisher=Plotly|date= |accessdate=2014-10-12}}{{cite web|url=https://plot.ly/nodejs/ |title=Plotly's Node.js library |publisher=Plotly|date= |accessdate=2014-10-12}}{{cite web|url=https://plot.ly/r/ |title=Plotly's R Library |publisher=Plotly|date= |accessdate=2014-10-12}}{{cite web|url=https://plot.ly/matlab/ |title=Plotly's MATLAB library |publisher=Plotly|date= |accessdate=2014-10-12}}{{cite news|url=https://wiki.python.org/moin/NumericAndScientific/Plotting|title=Graphical Representations of Data | work=Python Wiki | date=November 4, 2013}}{{cite news|url=http://blog.arduino.cc/2013/11/04/create-interactive-graphs-logging-arduino-data-with-plotly/|title=Create Interactive Graphs Logging Arduino Data With Plotly | work=Arduino Blog|last=Romano|first=Zoe|date=November 4, 2013}}{{cite web|url=https://plot.ly/api |title=APIs |publisher=Plotly |date= |accessdate=2013-10-29}} Plotly can also be used to style interactive graphs with Jupyter notebook.{{cite web|url=http://nbviewer.ipython.org/github/plotly/IPython-plotly/tree/master/ |publisher=IPython Notebook Viewer |title= Plotly IPython gallery |date= |accessdate=2013-12-10}}
  • Figure converters which convert matplotlib,{{cite web|url=https://plot.ly/matplotlib/ |title=Online, interactive Matplotlib graphs |publisher=Plotly|date= |accessdate=2014-10-12}} ggplot2,{{cite web|url=https://plot.ly/ggplot2/ |title=Online, interactive ggplot2 graphs |publisher=Plotly|date= |accessdate=2014-10-12}} and IGOR Pro{{cite web|url=https://github.com/plotly/Igor-Pro-Graph-Converter |title=Online, interactive Igor Pro graphs |publisher=Plotly|date= |accessdate=2014-10-12}} graphs into interactive, online graphs.

File:Gallery of Plotly Graphs.png

Data visualization libraries

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

class="wikitable"

! Chart Type !! Chart name !! JavaScript{{Cite web|url=https://plotly.com/javascript/|title=Plotly|website=plotly.com}} !! Python{{Cite web|url=https://plotly.com/python/|title = Plotly Python Graphing Library}} !! R{{Cite web|url=https://plotly.com/r/|title=Plotly|website=plotly.com}} !! Julia{{Cite web|url=https://github.com/plotly/Plotly.jl|title = Plotly.jl|website = GitHub|date = 14 October 2021}}

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 plotTRUETRUE
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.{{Cite web|url=https://dash.plotly.com/react-for-python-developers|title=React for Python Developers | Dash for Python Documentation | Plotly}} 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".{{Cite web|last=plotly|date=2020-10-26|title=Announcing Dash for Julia|url=https://medium.com/plotly/announcing-dash-for-julia-f017c90c6ef1|access-date=2021-03-19|website=Medium|language=en}} It is possible to integrate D3.js charts as Dash components.{{Cite web|url=https://dash.plotly.com/d3-react-components|title = Integrating D3.js into Dash Components | Dash for Python Documentation | Plotly}} 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.{{Cite web|title=Adding CSS & JS and Overriding the Page-Load Template {{!}} Dash for Python Documentation {{!}} Plotly|url=https://dash.plotly.com/external-resources|access-date=2021-03-19|website=dash.plotly.com}}

Dash Enterprise

Dash Enterprise is Plotly’s paid product for building, testing, deploying, managing and scaling Dash applications organization-wide.{{Cite web|url=https://plotly.com/|title=Data Apps for Production | Plotly|website=plotly.com}} The product integrates with enterprise IT systems to enable organizations to build, deploy and scale low-code Dash applications.{{Cite web|url=https://plotly.com/dash/|title=Dash Enterprise: The Premier Data App Platform for Python|website=plotly.com}} With open-source Dash, analytic applications can be run from a local machine, but cannot be easily accessed by others in the organization.{{Cite web|url=https://github.com/plotly/dash|title=Dash|website=GitHub|date=26 October 2021}}

=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.{{Cite web|url=https://plotly.com/dash/guided-installation/|title=Dash Enterprise - Guided Installation|website=plotly.com}}

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.{{Cite web|url=https://plotly.com/dash/authentication/|title=No-Code Authentication|website=plotly.com}}

Dash Enterprise connects to major big data backends, including Salesforce, PostgreSQL, Databricks via PySpark, Snowflake, Dask, Datashader, and Vaex.{{Cite web|url=https://plotly.com/dash/big-data-for-python/|title = Big Data Pipelines}} In 2020, Plotly partnered with NVIDIA to integrate Dash with RAPIDS,{{Cite web|url=https://medium.com/plotly/plotly-and-nvidia-partner-to-integrate-dash-and-rapids-8a8c53cd7daf|title=Plotly and NVIDIA Partner to Integrate Dash and RAPIDS|date=19 May 2020}} 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.{{Cite web|url=https://plotly.com/dash/workspaces/?tab=jupyter-notebooks|title=Data App Workspaces|website=plotly.com}} 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.{{Cite web|url=https://plotly.com/dash/ai-and-ml-templates/|title = Dash AI App Catalogue}}{{Cite web|url=https://plotly.com/dash/dashboard-engine/|title = Dash Dashboard Engine}}{{Cite web|url=https://plotly.com/dash/design-kit/|title = Dash Design Kit}}{{Cite web|url=https://plotly.com/dash/snapshot-engine/|title = Dash Snapshot Engine}}

=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.{{Cite web|url=https://plotly.com/dash/embedding/|title = Dash Embedding}}{{Cite web|url=https://plotly.com/dash/app-manager/?tab=deployment|title=Dash App Manager|website=plotly.com}}

Deployed applications can be managed and accessed in a single portal called App Manager, where administrators can control user authentication and view usage analytics.{{Cite web|url=https://plotly.com/dash/app-manager/?tab=analytics|title = Dash App Manager}}{{Cite web|url=https://plotly.com/dash/app-manager/?tab=authentication|title = Dash App Manager}}

Dash Enterprise scales horizontally with Kubernetes.{{Cite web|url=https://plotly.com/dash/kubernetes/|title = Dash Kubernetes}} Jobs queuing, GPU acceleration, and CPU parallelization support high performance computing requirements.{{Cite web|url=https://plotly.com/dash/gpu-dask-acceleration/|title = High Performance Computing}}

Plotly also offers professional services for application development and workshop training.

References

{{Reflist|2}}