Skip to content

Open-source JavaScript charting library behind Plotly and Dash

License

Notifications You must be signed in to change notification settings

arazumut/plotly.js

 
 

Repository files navigation

npm version circle ci MIT License

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

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 by script. The newPlot method is then used to draw an interactive figure as described by data and layout into the desired div here named gd. As demonstrated in the example above basic knowledge of html 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.35.2.min.js" charset="utf-8"></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.35.2.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.35.2.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/mathjax@3.2.2/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 to svg output for the plotly graph. Please refer to devtools/test_dashboard/index-mathjax3chtml.html to see an example.

Need to have several WebGL graphs on a page?

You may simply load virtual-webgl script for WebGL 1 (not WebGL 2) before loading other scripts.

<script src="https://unpkg.com/virtual-webgl@1.0.6/src/virtual-webgl.js"></script>

Bundles

There are two kinds of plotly.js bundles:

  1. Complete and partial official bundles that are distributed to npm and the CDN, described in the dist README.
  2. 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, 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 Twitter Status
Alex C. Johnson @alexcjohnson Active, Maintainer
Mojtaba Samimi @archmoj @solarchvision Active, Maintainer
Emily Kellison-Linn @emilykl Active, Maintainer
My-Tien Nguyen @my-tien Active, Community Contributor
Birk Skyum @birkskyum Active, Community Contributor
Étienne Tétreault-Pinard @etpinard @etpinard Hall of Fame
Antoine Roy-Gobeil @antoinerg Hall of Fame
Jack Parmer @jackparmer Hall of Fame
Nicolas Kruchten @nicolaskruchten @nicolaskruchten Hall of Fame
Mikola Lysenko @mikolalysenko @MikolaLysenko Hall of Fame
Ricky Reusser @rreusser @rickyreusser Hall of Fame
Dmitry Yv. @dy @DimaYv Hall of Fame
Jon Mease @jonmmease @jonmmease 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
Hannah Ker @hannahker @hannahker11 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 (tagged plotly).
  • Developers should use the keyword plotly on packages which modify or add to the functionality of plotly.js when distributing through npm.

Turkish

Plotly.js, bağımsız bir JavaScript veri görselleştirme kütüphanesidir. Aynı zamanda, Python ve R ekosistemlerinde "plotly" olarak adlandırılan Plotly.py ve Plotly.R modüllerini de destekler.

Plotly.js, istatistiksel grafikler, 3D grafikler, bilimsel grafikler, SVG ve döşeme haritaları, finansal grafikler ve daha fazlasını üretmek için kullanılabilir.

Plotly.js danışmanlığı, gösterge paneli geliştirme, uygulama entegrasyonu ve özellik ekleme konularında bize ulaşın. İçindekiler Node Modülü Olarak Yükleyin Script Etiketi ile Yükleyin Paketler Plotly.js'i Yüklemek ve İnşa Etmek İçin Alternatif Yollar Dokümantasyon Hatalar ve Özellik Talepleri Katkıda Bulunma Önemli Katkıda Bulunanlar Telif Hakkı ve Lisans Topluluk Node Modülü Olarak Yükleyin Hazır kullanıma uygun dağıtılmış bir paketi kurun:

npm i --save plotly.js-dist-min ve node.js içinde import veya require ile kullanın:

// ES6 modülü import Plotly from 'plotly.js-dist-min'

// CommonJS var Plotly = require('plotly.js-dist-min') Minify edilmemiş bir paket tercih ediyorsanız, plotly.js-dist kullanmayı düşünebilirsiniz.

Script Etiketi ile Yükleyin Script HTML Elemanı Aşağıdaki örneklerde Plotly nesnesi script tarafından window kapsamına eklenir. newPlot metodu daha sonra data ve layout tarafından tanımlanan etkileşimli bir şekli istenilen div içine çizer. Burada gd adı verilmiştir. Yukarıdaki örnekte gösterildiği gibi, temel html ve JSON sözdizimi bilgisi yeterlidir. Daha fazlasını öğrenmek ve inşa etmek için plotly.js dokümantasyonuna göz atın.

<script src="https://cdn.plot.ly/plotly-2.35.2.min.js" charset="utf-8"></script>
<script>
    Plotly.newPlot("gd", /* JSON objesi */ {
        "data": [{ "y": [1, 2, 3] }],
        "layout": { "width": 600, "height": 400 }
    })
</script>
Alternatif olarak, yerel ES6 import komutunu script etiketi içinde kullanabilirsiniz. <script type="module"> import "https://cdn.plot.ly/plotly-2.35.2.min.js" Plotly.newPlot("gd", [{ y: [1, 2, 3] }]) </script>

Fastly, Plotly.js'i ücretsiz CDN hizmetiyle destekler. Daha fazla bilgi için https://www.fastly.com/open-source.

CDN'de Minify Edilmemiş Sürümler Minify edilmemiş kaynak dosyalar UTF-8 dışında karakterler içerebilir, bu nedenle bu paketleri yüklerken charset belirtmeniz önerilir.

<script src="https://cdn.plot.ly/plotly-2.35.2.js" charset="utf-8"></script>

v2'den itibaren "plotly-latest" çıktıları (örneğin https://cdn.plot.ly/plotly-latest.min.js) artık güncellenmeyecektir. v1'in son yaması olan v1.58.5'te kalacaktır. Bu nedenle, plotly.js v2 ve üzeri bir sürümü kullanmak için CDN'de kesin bir sürüm belirtmeniz gerekir.

MathJax MathJax dosyalarının ikinci veya üçüncü sürümlerini yükleyebilirsiniz, örneğin:

<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/mathjax@3.2.2/es5/tex-svg.js"></script>

MathJax sürüm 3 kullanılırken, plotly grafiği dışında chtml çıktısını kullanmak da mümkündür. Bir örnek görmek için devtools/test_dashboard/index-mathjax3chtml.html dosyasına göz atın.

Sayfada Birden Fazla WebGL Grafiği Kullanmak İster misiniz? WebGL 1 (WebGL 2 değil) için virtual-webgl betiğini diğer betiklerden önce yükleyebilirsiniz.

<script src="https://unpkg.com/virtual-webgl@1.0.6/src/virtual-webgl.js"></script>

Paketler Plotly.js için iki tür paket vardır:

Resmi olarak npm ve CDN üzerinden dağıtılan tam ve kısmi paketler, dist README dosyasında açıklanmıştır. Kendi ihtiyaçlarınıza göre optimize edebileceğiniz özel paketler. Daha fazla bilgi için CUSTOM_BUNDLE dosyasına göz atın. Plotly.js'i Yüklemek ve İnşa Etmek İçin Alternatif Yollar Kitaplığınızın, plotly.js/lib/index.js veya index-basic gibi modülleri doğrudan veya parçalar halinde yüklemesi gerekiyorsa, veya varsayılan yapı yapılandırmalarını değiştirmek istiyorsanız, lütfen BUILDING.md dosyasını ziyaret edin.

Dokümantasyon Resmi plotly.js dokümantasyonu https://plotly.com/javascript adresinde barındırılmaktadır.

Bu sayfalar, Jekyll ile oluşturulmuş Plotly graphing-library-docs deposu tarafından üretilir ve GitHub Pages'de barındırılır. Plotly dokümantasyonuna katkıda bulunmak hakkında daha fazla bilgi için lütfen katkı yönergelerini okuyun.

Hatalar ve Özellik Talepleri Bir hata mı buldunuz veya yeni bir özellik mi istiyorsunuz? Lütfen GitHub sorunları üzerinden bir rapor oluşturun.

Katkıda Bulunma Katkıda bulunmak isterseniz, lütfen katkı yönergelerini gözden geçirin.

Önemli Katkıda Bulunanlar Bu projeye katkıda bulunanlar, projeyi sürdürülebilir ve geliştirilebilir kılmak için emek veren gönüllülerdir. Onlara teşekkür ediyoruz. Tüm katkıda bulunanları GitHub sayfamızda görebilirsiniz.

Telif Hakkı ve Lisans Plotly.js, MIT Lisansı kapsamında lisanslanmıştır.

Topluluk Plotly topluluğuna katılmak ve daha fazla bilgi edinmek için:

Plotly'nin forumuna katılın Plotly blogunu okuyun

About

Open-source JavaScript charting library behind Plotly and Dash

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.6%
  • Other 0.4%