Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2k
Open-source JavaScript charting library behind Plotly and Dash
License
plotly/plotly.js
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Plotly.js is a standalone Javascript data visualization library, and it also powers the Python and R modules namedplotly in those respective ecosystems (referred to asPlotly.py andPlotly.R).
Plotly.js can be used to produce dozens of chart types and visualizations, including statistical charts, 3D graphs, scientific charts, SVG and tile maps, financial charts and more.
Contact us for Plotly.js consulting, dashboard development, application integration, and feature additions.
- Load as a node module
- Load via script tag
- Bundles
- Alternative ways to load and build plotly.js
- Documentation
- Bugs and feature requests
- Contributing
- Notable contributors
- Copyright and license
- Community
Installa ready-to-use distributed bundle
npm i --save plotly.js-dist-min
and use import or require in node.js
// ES6 moduleimportPlotlyfrom'plotly.js-dist-min'// CommonJSvarPlotly=require('plotly.js-dist-min')
You may also consider usingplotly.js-dist if you prefer using an unminified package.
In the examples below
Plotlyobject is added to the window scope byscript. ThenewPlotmethod is then used to draw an interactive figure as described bydataandlayoutinto the desireddivhere namedgd. As demonstrated in the example above basic knowledge ofhtmlandJSON syntax is enough to get started i.e. with/without JavaScript! To learn and build more with plotly.js please visitplotly.js documentation.
<head><scriptsrc="https://cdn.plot.ly/plotly-3.3.0.min.js"charset="utf-8"></script></head><body><divid="gd"></div><script>Plotly.newPlot("gd",/* JSON object */{"data":[{"y":[1,2,3]}],"layout":{"width":600,"height":400}})</script></body>
Alternatively you may consider usingnative ES6 import in the script tag.
<scripttype="module">import"https://cdn.plot.ly/plotly-3.3.0.min.js"Plotly.newPlot("gd",[{y:[1,2,3]}])</script>
Fastly supports Plotly.js with free CDN service. Read more athttps://www.fastly.com/open-source.
While non-minified source files may contain characters outside UTF-8, it is recommended that you specify thecharset when loading those bundles.
<scriptsrc="https://cdn.plot.ly/plotly-3.3.0.js"charset="utf-8"></script>
Please note that as of v2 the "plotly-latest" outputs (e.g.https://cdn.plot.ly/plotly-latest.min.js) will no longer be updated on the CDN, and will stay at the last v1 patch v1.58.5. Therefore, to use the CDN with plotly.js v2 and higher, you must specify an exact plotly.js version.
You could load either version two or version three of MathJax files, for example:
<scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG.js"></script>
<scriptsrc="https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-svg.js"></script>
When using MathJax version 3, it is also possible to use
chtmloutput on the other parts of the page in addition tosvgoutput for the plotly graph.Please refer todevtools/test_dashboard/index-mathjax3chtml.htmlto see an example.
You may simply loadvirtual-webgl script for WebGL 1 (not WebGL 2) before loading other scripts.
<scriptsrc="https://unpkg.com/virtual-webgl@1.0.6/src/virtual-webgl.js"></script>
There are two kinds of plotly.js bundles:
- Complete and partial official bundles that are distributed to
npmand theCDN, described inthe dist README. - Custom bundles you can create yourself to optimize the size of bundle depending on your needs. Please visitCUSTOM_BUNDLE for more information.
If your library needs to bundle or directly loadplotly.js/lib/index.js or parts of its modules similar toindex-basic in some other way than via an official or a custom bundle, or in case you want to tweak the default build configurations, then please visitBUILDING.md.
Official plotly.js documentation is hosted athttps://plotly.com/javascript.
These pages are generated by the Plotlygraphing-library-docs repo built withJekyll and publicly hosted on GitHub Pages.For more info about contributing to Plotly documentation, please read throughcontributing guidelines.
Have a bug or a feature request? Pleaseopen a Github issue keeping in mind theissue guidelines. You may also want to read abouthow changes get made to Plotly.js
Please read through ourcontributing guidelines. Included are directions for opening issues, using plotly.js in your project and notes on development.
Plotly.js is at the core of a large and dynamic ecosystem with many contributors who file issues, reproduce bugs, suggest improvements, write code in this repo (and other upstream or downstream ones) and help users in the Plotly community forum. The following people deserve special recognition for their outsized contributions to this ecosystem:
| Contributor | GitHub | Status |
|---|---|---|
| Alex C. Johnson | @alexcjohnson | Active, Maintainer |
| Emily Kellison-Linn | @emilykl | Active, Maintainer |
| Cameron DeCoster | @camdecoster | Active, Maintainer |
| Mojtaba Samimi | @archmoj | Active, Community Contributor |
| My-Tien Nguyen | @my-tien | Active, Community Contributor |
| Birk Skyum | @birkskyum | Active, Community Contributor |
| Étienne Tétreault-Pinard | @etpinard | Hall of Fame |
| Antoine Roy-Gobeil | @antoinerg | Hall of Fame |
| Jack Parmer | @jackparmer | Hall of Fame |
| Nicolas Kruchten | @nicolaskruchten | Hall of Fame |
| Mikola Lysenko | @mikolalysenko | Hall of Fame |
| Ricky Reusser | @rreusser | Hall of Fame |
| Dmitry Yv. | @dy | Hall of Fame |
| Jon Mease | @jonmmease | Hall of Fame |
| Robert Monfera | @monfera | Hall of Fame |
| Robert Möstl | @rmoestl | Hall of Fame |
| Nicolas Riesco | @n-riesco | Hall of Fame |
| Miklós Tusz | @mdtusz | Hall of Fame |
| Chelsea Douglas | @cldougl | Hall of Fame |
| Ben Postlethwaite | @bpostlethwaite | Hall of Fame |
| Hannah Ker | @hannahker | Hall of Fame |
| Chris Parmer | @chriddyp | Hall of Fame |
| Alex Vados | @alexander-daniel | Hall of Fame |
Code and documentation copyright 2025 Plotly, Inc.
Code released under theMIT license.
This project is maintained under theSemantic Versioning guidelines.
See theReleases section of our GitHub project for changelogs for each release version of plotly.js.
- Follow us onX andLinkedIn for the latest Plotly news.
- Implementation help may be found on our community forum (tagged
plotly-js) oron Stack Overflow (taggedplotly.js). - Developers should use the keyword
plotlyon packages which modify or add to the functionality of plotly.js when distributing throughnpm.
About
Open-source JavaScript charting library behind Plotly and Dash
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.


