Description
Plotly.js is a standalone Javascript data visualization library, and it also powers the Python and R modules named plotly in those respective ecosystems (referred to as Plotly.py and Plotly.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.
#<Sawyer::Resource:0x00007f1b609038f0> alternatives and similar libraries
Based on the "Data Visualization" category.
Alternatively, view plotly.js alternatives based on common mentions on social networks and blogs.
-
d3
Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada: -
echarts
Apache ECharts is a powerful, interactive charting and data visualization library for browser -
Chart.js
Simple HTML5 Charts using the <canvas> tag -
fabric.js
Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser -
BabylonJS
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework. -
p5.js
p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs — -
recharts
Redefined chart library built with React and D3 -
Highcharts JS
Highcharts JS, the JavaScript charting framework -
Snap.svg
The JavaScript library for modern SVG graphics. -
paper.js
The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey -
Frappe Charts
Simple, responsive, modern SVG Charts with zero dependencies -
G2
📊 A concise and progressive visualization grammar. -
sigma.js
A JavaScript library aimed at visualizing graphs of thousands of nodes and edges -
GoJS, a JavaScript Library for HTML Diagrams
JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages. -
c3
:bar_chart: A D3-based reusable chart library -
Cytoscape.js
Graph theory (network) library for visualisation and analysis -
svg.js
The lightweight library for manipulating and animating SVG -
nvd3
A reusable charting library written in d3.js -
trianglify
Algorithmically generated triangle art -
dc.js
Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js -
vis
Dynamic, browser-based visualization library. -
mxGraph
Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor. -
flot
Attractive JavaScript charts for jQuery -
morris.js
Pretty time-series line graphs -
heatmap.js
🔥 JavaScript Library for HTML5 canvas based heatmaps -
two.js
A renderer agnostic two-dimensional drawing api for the web. -
rickshaw
JavaScript toolkit for creating interactive real-time graphs -
metrics-graphics
A library optimized for concise and principled data graphics and layouts. -
cubism
Cubism.js: A JavaScript library for time series visualization. -
epoch
A general purpose, real-time visualization library. -
d3-cloud
Create word clouds in JavaScript. -
jointjs
A proven SVG-based JavaScript diagramming library powering exceptional UIs -
Frappe Gantt
Open Source Javascript Gantt -
peity
Progressive <svg> pie, donut, bar and line charts -
processing.js
Processing.js makes your data visualizations work using web standards and without any plug-ins -
arbor
a graph visualization library using web workers and jQuery -
dimple.js
An object-oriented API for business analytics -
G2Plot
:dango: An interactive and responsive charting library -
react-simple-maps
Beautiful React SVG maps with d3-geo and topojson using a declarative api. -
envisionjs
Dynamic HTML5 visualization -
d3plus
A javascript library that extends D3.js to enable fast and beautiful visualizations. -
jquery.sparkline
A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser -
n3-charts line-chart
Awesome charts for AngularJS. -
DHTMLX Gantt
GPL version of Javascript Gantt Chart -
Chartkick.js
Create beautiful charts with one line of JavaScript
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of #<Sawyer::Resource:0x00007f1b609038f0> or a related project?
README
Plotly.js is a standalone Javascript data visualization library, and it also powers the Python and R modules named plotly
in those respective ecosystems (referred to as Plotly.py and Plotly.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.
Table of contents
- 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
Load as a node module
Install a ready-to-use distributed bundle
npm i --save plotly.js-dist-min
and use import or require in node.js
// ES6 module
import Plotly from 'plotly.js-dist-min'
// CommonJS
var Plotly = require('plotly.js-dist-min')
You may also consider using plotly.js-dist
if you prefer using an unminified package.
Load via script tag
The script HTML element
In the examples below
Plotly
object is added to the window scope byscript
. ThenewPlot
method is then used to draw an interactive figure as described bydata
andlayout
into the desireddiv
here namedgd
. As demonstrated in the example above basic knowledge ofhtml
and JSON syntax is enough to get started i.e. with/without JavaScript! To learn and build more with plotly.js please visit plotly.js documentation.
<head>
<script src="https://cdn.plot.ly/plotly-2.16.3.min.js"></script>
</head>
<body>
<div id="gd"></div>
<script>
Plotly.newPlot("gd", /* JSON object */ {
"data": [{ "y": [1, 2, 3] }],
"layout": { "width": 600, "height": 400}
})
</script>
</body>
Alternatively you may consider using native ES6 import in the script tag.
<script type="module">
import "https://cdn.plot.ly/plotly-2.16.3.min.js"
Plotly.newPlot("gd", [{ y: [1, 2, 3] }])
</script>
Fastly supports Plotly.js with free CDN service. Read more at https://www.fastly.com/open-source.
Un-minified versions are also available on CDN
While non-minified source files may contain characters outside UTF-8, it is recommended that you specify the charset
when loading those bundles.
<script src="https://cdn.plot.ly/plotly-2.16.3.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.
MathJax
You could load either version two or version three of MathJax files, for example:
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-svg.js"></script>
When using MathJax version 3, it is also possible to use
chtml
output on the other parts of the page in addition tosvg
output for the plotly graph. Please refer todevtools/test_dashboard/index-mathjax3chtml.html
to see an example.
Bundles
There are two kinds of plotly.js bundles:
- Complete and partial official bundles that are distributed to
npm
and theCDN
, described in the dist README. - Custom bundles you can create yourself to optimize the size of bundle depending on your needs. Please visit CUSTOM_BUNDLE for more information.
Alternative ways to load and build plotly.js
If your library needs to bundle or directly load plotly.js/lib/index.js or parts of its modules similar to index-basic in some other way than via an official or a custom bundle, or in case you want to tweak the default build configurations of browserify
or webpack
, etc. then please visit BUILDING.md
.
Documentation
Official plotly.js documentation is hosted at https://plotly.com/javascript.
These pages are generated by the Plotly graphing-library-docs repo built with Jekyll and publicly hosted on GitHub Pages. For more info about contributing to Plotly documentation, please read through contributing guidelines.
Bugs and feature requests
Have a bug or a feature request? Please open a Github issue keeping in mind the issue guidelines. You may also want to read about how changes get made to Plotly.js
Contributing
Please read through our contributing guidelines. Included are directions for opening issues, using plotly.js in your project and notes on development.
Notable contributors
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:
GitHub | Status | ||
---|---|---|---|
Alex C. Johnson | @alexcjohnson | Active, Maintainer | |
Mojtaba Samimi | @archmoj | @solarchvision | Active, Maintainer |
Antoine Roy-Gobeil | @antoinerg | Active, Maintainer | |
Nicolas Kruchten | @nicolaskruchten | @nicolaskruchten | Active, Maintainer |
Jon Mease | @jonmmease | @jonmmease | Active |
Étienne Tétreault-Pinard | @etpinard | @etpinard | Hall of Fame |
Mikola Lysenko | @mikolalysenko | @MikolaLysenko | Hall of Fame |
Ricky Reusser | @rreusser | @rickyreusser | Hall of Fame |
Dmitry Yv. | @dy | @DimaYv | Hall of Fame |
Robert Monfera | @monfera | @monfera | Hall of Fame |
Robert Möstl | @rmoestl | @rmoestl | Hall of Fame |
Nicolas Riesco | @n-riesco | Hall of Fame | |
Miklós Tusz | @mdtusz | @mdtusz | Hall of Fame |
Chelsea Douglas | @cldougl | Hall of Fame | |
Ben Postlethwaite | @bpostlethwaite | Hall of Fame | |
Chris Parmer | @chriddyp | Hall of Fame | |
Alex Vados | @alexander-daniel | Hall of Fame |
Copyright and license
Code and documentation copyright 2021 Plotly, Inc.
Code released under the MIT license.
Versioning
This project is maintained under the Semantic Versioning guidelines.
See the Releases section of our GitHub project for changelogs for each release version of plotly.js.
Community
- Follow @plotlygraphs on Twitter for the latest Plotly news.
- Implementation help may be found on community.plot.com (tagged
plotly-js
) or on Stack Overflow (taggedplotly
). - Developers should use the keyword
plotly
on packages which modify or add to the functionality of plotly.js when distributing through npm.
*Note that all licence references and agreements mentioned in the #<Sawyer::Resource:0x00007f1b609038f0> README section above
are relevant to that project's source code only.