Giter Club home page Giter Club logo

awesome-echarts's Introduction

awesome-echarts Awesome

This is a repo contributed by community with awesome resources for Apache ECharts.

Awesome list of Apache ECharts

  • Use command - F or ctrl - F to search for a keyword.
  • If you want to contribute to this list (please do), send a pull request. Please follow alphabetic order for both language and project names.

Note

带有「🇨🇳」的项目为中文资源,或包含中文文档。

Items with “🇨🇳” are either in Chinese, or contain Chinese documentation.

About

Apache ECharts is a free, powerful charting and visualization library offering an easy way of adding intuitive, interactive, and highly customizable charts to your commercial products. It is written in pure JavaScript and based on zrender, which is a whole new lightweight canvas library.

Learn

Official docs

Videos

Extensions

  • 🇨🇳 arcgis-echarts3 - A plugin for ArcGIS JS API to load Apache ECharts 3 map and Make big data visualization easier.
  • echarts-china-cities-js - Packages the maps of 363 Chinese provincial cities for Apache ECharts.
  • echarts-countries-js - Packages the maps of 213 countries and regions for Apache ECharts.
  • echarts-leaflet - An extension to visualize data on leaflet maps.
  • Graph Modularity - Apache ECharts graph modularity extension for community detection.
  • 🇨🇳 leaflet-echarts3 - A plugin for leaflet to load Apache ECharts 3 map and Make big data visualization easier.
  • 🇨🇳 MapBoxGL-echarts3-layer - Apache ECharts MapBoxGL 扩展,可以从二,三维视角展示空间点,线,面,数据.
  • maptalks.e3 - A plugin to integrate Apache ECharts 3 as a layer with maptalks.js.
  • 🇨🇳 openlayers-echarts3 - Apache ECharts 的 OpenLayers 扩展,实现 OpenLayers 地图数据可视化,支持 OpenLayers 3 和 OpenLayers 4。
  • wordcloud 词云 - Apache ECharts wordcloud extension based on wordcloud2.js.
  • liquidfill 水球图 - Liquid Fill Chart plugin for Apache ECharts, which is usually used to represent data in percentage.
  • 🇨🇳 百度地图扩展) - Apache ECharts 百度地图扩展,可以在百度地图上展现点图,线图,热力图等可视化。
  • 🇨🇳 高德地图扩展 - Apache ECharts 高德地图扩展,可以在高德地图上展现点图,线图,热力图等可视化。
  • echarts-extension-gmap - A Google Map extension for Apache ECharts.

Frameworks

Angular Component

  • echarts-for-angular @behroozbc , @alixdehghani Angular (version >= 5.x) directive for Apache ECharts.
  • ngx-echarts @xieziyu - Angular (ver >= 2.x) directive for Apache ECharts.

AngularJS Binding

  • angular-echarts @wangshijun - AngularJS bindings for Apache ECharts.
  • 🇨🇳 echarts-ng @bornkiller - Simple AngularJS wrap for Apache ECharts.
  • 🇨🇳 ng-echarts @liekkas

Blazor Binding

  • blazor-echarts @caopengfei - Blazor version of Apache ECharts chart component.

Flutter Component

  • flutter_echarts @entronad - A Flutter widget to use Apache ECharts in a reactive way.

React Component

React Native Component

  • 🇨🇳 react-native-echarts-pro @supervons - 基于 Apache ECharts 并支持各种图表、地图的 React-Native 图表库
  • react-native-echarts-wrapper @tomLadder - 📈Powerful React-Native Apache ECharts Wrapper 📊
  • wrn-echarts @wuba - React Native version of Apache Echarts, based on react-native-svg and react-native-skia. Much better performance than webview based solution.

Svelte Component

Vue Component

  • 🇨🇳 echarts-middleware @PUGE - 在 Vue 中优雅、高效地使用 Apache ECharts
  • vue-echarts @Justineo - Apache ECharts component for Vue.js.
  • vue-echarts @panteng - A custom directive for using Apache ECharts in Vue.js apps.
  • vue-echarts-lite @LeungZ9 - A lite Vue.js 2.0+ component for Apache ECharts V3.
  • vue-echarts-v3 @xlsdg - Vue.js(v2.x+) component wrap for Apache ECharts (v3.x+).
  • 🇨🇳 echarts-for-vue @Ambit-Tsai - Apache ECharts wrapper component for Vue 3 and 2.
  • 🇨🇳 vuecharts3 @lloydzhou - 以组件方式调用echarts绘制图表(API参考BizCharts)

Web components

  • ECharts-JSX @idea2app - A real JSX wrapper for Apache ECharts based on TypeScript & Web components.

Languages

Clojure

  • re-echarts @kimim - A clojurescript library to use Apache ECharts, with react/reagent.

Dart

  • 🇨🇳 flutter_echarts @entronad - A Flutter widget to use Apache ECharts in a reactive way.

Golang

  • 🇨🇳 go-echarts @chenjiandongx - The adorable charts library for Golang.

iOS

  • 🇨🇳 iOS-Echarts @Pluto-Y - This is a highly custom chart control for iOS and Mac apps, which build with the Apache ECharts (v2).

Java

  • CamsDiag @mnlxr - Cams Displacement Diagrams using Apache Echarts and Java
  • 🇨🇳 ECharts-Java @Liuzh_533 - 一个供 Java 开发使用的 ECharts 的开发包。
  • 🇨🇳 ECharts Java @IcePear-Jzx @incandescentxxc - A Java data visualization library based on Apache ECharts 5.x.

JavaScript

Julia

  • ECharts.jl @randyzwitch - Julia package for the Apache ECharts 3 visualization library.

Jupyter-Notebook

  • jupyter-echarts @pyecharts dev team - Integrates Apache ECharts with jupyter notebook via nbextensions

.NET

  • 🇨🇳 EChartsSDK @idoku - Apache ECharts 的 .NET 类库,从 ECharts 的 Java 类库移植。
  • TagEChartsBlazor @draculakkk - Blazor package for Apache ECharts, can use tags to create Apache ECharts.

Node.js

  • echarts-scrappeteer @chfw - Puppeteer! Scrape all Apache ECharts from this web page please!
  • 🇨🇳 node-echarts @suxiaoxin - 后台生成 Apache ECharts 图表

PHP

  • Echarts-PHP @hisune - a PHP library that works as a wrapper for the Apache ECharts js library.

PureScript

Python

  • pyecharts.js @chfw - Draw Apache ECharts using python language in modern browsers.
  • echarts-python @yufeiminds - Generate Apache ECharts options with Python.
  • krisk @napjon - Statistical Interactive Visualization with pandas+Jupyter integration on top of Apache ECharts.
  • 🇨🇳 pyecharts @chenjiandongx - Python Apache ECharts Plotting Library.
  • pyecharts-snapshot @pyecharts dev team - Renders the output of pyecharts as png, jpeg, gif and pdf
  • 🇨🇳 echarts-django @JohnYan2017 - Platform to connect SQL with Apache ECharts and can be embeded in project.

R

  • 🇨🇳 ECharts2Shiny @XD-DENG - To insert interactive charts from Apache ECharts into R Shiny applications.
  • echarts4r @JohnCoene - An R interface to Apache ECharts version 4
  • 🇨🇳 recharts @taiyun - A R interface to Apache ECharts for data visualization.
  • recharts @yihui - An R Interface to Apache ECharts
  • echarty @helgasoft - Minimal R/Shiny wrapper supports full functionality of Apache ECharts

Ruby

  • rails_charts - create charts in Ruby on Rails application with just a few lines of code

Tcl

Tools

Grafana

  • Apache ECharts Panel - A plugin for Grafana that allows visualizing Apache ECharts on your dashboard.

Markdown

  • mdbook-echarts @zhuangbiaowei - A preprocessor and cli tool to use Apache ECharts in mdbook.

VSCode Extensions

Community

License

CC0

Notice

The Apache Software Foundation Apache ECharts, ECharts, Apache, the Apache feather, and the Apache ECharts project logo are either registered trademarks or trademarks of the Apache Software Foundation.

awesome-echarts's People

Contributors

ambit-tsai avatar behroozbc avatar chenjiandongx avatar chfw avatar draculakkk avatar entronad avatar fuzhenn avatar gnijuohz avatar helgasoft avatar incandescentxxc avatar johnyan2017 avatar justineo avatar kimim avatar leungz9 avatar liqiuqiui avatar lloydzhou avatar nico-robert avatar ntnyq avatar ovilia avatar pissang avatar plainheart avatar sakitam-fdd avatar supervons avatar susiwen8 avatar techquery avatar tomladder avatar xieziyu avatar xlsdg avatar yuhangch avatar zhiqingchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-echarts's Issues

echarts animation update not working on update

first step
second step
Hello Team Echarts ,

Thank you for your hard work and innovative approaches in solving echarts issuses !
i m contacting you as i have a small issue with my echarts project,so without any further do i shall explain.
if you open the first file called first step you will see after i click on the Add 1 button a small chart is drawn ,but the problem is there is no animation transition ,not like when i initialise the data array in series objet !
same problem when i click on on any other button for adding a point of deleting one !
i will send also the code.

Thank you , and my Best Regards

<title>ECharts</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.0.0/echarts.min.js"
    integrity="sha512-ZRdjJAYP8Kij8Lkln9uiGj0jIrMDLAALm1ZB2b3VfV9XJ0nR4zbJmHKB42/A4tgMlZS4DTPnSAmcYRoS0dginA=="
    crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.0.0/echarts.min.js"
    integrity="sha512-ZRdjJAYP8Kij8Lkln9uiGj0jIrMDLAALm1ZB2b3VfV9XJ0nR4zbJmHKB42/A4tgMlZS4DTPnSAmcYRoS0dginA=="
    crossorigin="anonymous"></script>-->
<div id="parent">
    <div id="main" style="width: 100%;height:100vh"></div>
</div>
<!--<div><button class="btn btn-success" onclick="addData()">wala wala</button></div>-->
<div style="text-align: center;">
    <button class="btn btn-success" onclick="addData_1()">Add 1</button>
    <button class="btn btn-success" onclick="DeleteData_1()">Delete 1</button>
    <button class="btn btn-warning" onclick="addData_2()">Add 2</button>
    <button class="btn btn-warning" onclick="DeleteData_2()">Delete 2</button>
    <button class="btn btn-primary" onclick="addData_3()">Add 3</button>
    <button class="btn btn-primary" onclick="DeleteData_3()">Delete 3</button>
    <button class="btn btn-danger" onclick="addData_4()">Add 4</button>
    <button class="btn btn-danger" onclick="DeleteData_4()">Delete 4</button>
</div>
<script type="text/javascript">
    // based on prepared DOM, initialize echarts instance
    var myChart = echarts.init(document.getElementById('main'), null, { renderer: 'svg' });
    
    $(window).on('resize', function () {
        if (myChart != null && myChart != undefined) {
            myChart.resize();
        }
    });
    // specify chart configuration item and data
    var symbolSize = 1;
    var data = [];
    var points = [];

    option = {
        title: {
            text: 'Click to Add Points'
        },
        tooltip: {
            formatter: function (params) {
                var data = params.data || [0, 0];
                return data[0].toFixed(2) + ', ' + data[1].toFixed(2);
            }
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        xAxis: {
            min: 0,
            max: 500,
            type: 'value',
            axisLine: { onZero: false },
            show: false
        },
        yAxis: {
            min: 0,
            max: 400,
            type: 'value',
            axisLine: { onZero: false },
            show: false
        },
        animation: true,

        animationThreshold: 2000,
        animationDuration: 1000,
        animationDurationUpdate: 1000,
        animationEasing: 'quadraticIn',

        animationDelayUpdate: 100,
        series: [
            {
                id: 'a',
                type: 'line',
                smooth: true,
                symbolSize: symbolSize,
                data: data,
                animation: true,

                animationThreshold: 2000,
                animationDuration: 1000,
                animationDurationUpdate: 1000,
                animationDelayUpdate: 1000,
                animationEasing: 'quadraticIn',
                areaStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                        offset: 0,
                        color: 'rgb(187,212,246)'
                    }, {
                        offset: 1,
                        color: 'rgb(248,251,254)'
                    }])
                }


            }
        ]

    };

    


    
    function addData_1() {
        if (data.length == 0) {
            data.push([0, 10]);

            myChart.setOption({
                series: [{
                    id: 'a',
                    type: 'line',
                    data: data
                }]
            });
            data.push([100, 20]);

            myChart.setOption({
                series: [{
                    id: 'a',
                    type: 'line',
                    data: data
                }]
            });
        }
    }
    function DeleteData_1() {
        data = [];

        myChart.setOption({
            series: [{
                id: 'a',
                data: data
            }]
        });

    }
    function addData_2() {
        if (data.length == 0) {
            data = [[0, 10], [100, 20], [200, 40]];

            myChart.setOption({
                series: [{
                    id: 'a',
                    type: 'line',
                    data: data
                }]
            });
        }
        if (data.length == 2) {
            data.push([200, 40]);

            myChart.setOption({
                series: [{
                    id: 'a',
                    type: 'line',
                    data: data
                }]
            });
        }
    }
    function DeleteData_2() {

        if (data.length >= 3) {
            data = [[0, 10], [100, 20]];
            

            myChart.setOption({
                series: [{
                    id: 'a',
                    data: data
                }]
            });
        }
    }
    function addData_3() {
        if (data.length == 0 || data.length == 2) {
            data = [[0, 10], [100, 20], [200, 40], [300, 70]];

            myChart.setOption({
                series: [{
                    id: 'a',
                    type: 'line',
                    data: data
                }]
            });
        }

        if (data.length == 3) {
            data.push([300, 70]);

            myChart.setOption({
                series: [{
                    id: 'a',
                    data: data
                }]
            });
        }
    }
    function DeleteData_3() {
        
        if (data.length >= 4) {
            data = [[0, 10], [100, 20], [200, 40]];
            myChart.setOption({
                series: [{
                    id: 'a',
                    data: data
                }]
            });
        }
    }
    function addData_4() {
        if (data.length == 0 || data.length == 2 || data.length == 3) {
            data = [[0, 10], [100, 20], [200, 40], [300, 70], [400, 110]];

            myChart.setOption({
                series: [{
                    id: 'a',
                    type: 'line',
                    data: data
                }]
            });
        }
        if (data.length == 4) {
            data.push([400, 110]);

            myChart.setOption({
                series: [{
                    id: 'a',
                    data: data
                }]
            });
        }
    }
    function DeleteData_4() {
        
        if (data.length >= 5) {
            data = [[0, 10], [100, 20], [200, 40], [300, 70]];
            myChart.setOption({
                series: [{
                    id: 'a',
                    data: data
                }]
            });
        }

    }
    
    // use configuration item and data specified to show chart
    myChart.setOption(option);
   // console.log(myChart._model.option);
</script>
<style> </style>

Outliers in boxplot with multiple categories using dataset and transform

I want to draw a multiple categories boxplot and show outliers for each category but I wasn't able, so far, to figure it out how, below my code:

var data0 = [[22.21, 20.37, 40.41, 29.59, 40.76, 37.76]]

var data1 = [[60.21, 58.37, 40.41, 39.59, 40.76, 47.76]]


option = {
    title: {
        text: 'Multiple Categories',
        left: 'center'
    },
    dataset: [{
        source: data0
    }, {
        source: data1
    },  {
        fromDatasetIndex: 0,
        transform: { type: 'boxplot' }
    }, {
        fromDatasetIndex: 1,
        transform: { type: 'boxplot' }
    }],
    legend: {
        top: '10%'
    },

   
    tooltip: {
                formatter: function(param) {
                    
                    return [
                         param.marker+ param.seriesName,
                        "Max: " + param.data[5],
                        "Q3: " + param.data[4],
                        "median: " + param.data[3],
                        "Q1: " + param.data[2],
                        "Min: " + param.data[1]
                    ].join("<br/>");
                }
            },
    grid: {
        left: '10%',
        top: '20%',
        right: '10%',
        bottom: '15%'
    },
    xAxis: {
        type: 'category',
         axisLabel: {
      show: false
    },

        boundaryGap: true,
        nameGap: 30,
        splitArea: {
            show: false
        },
        splitLine: {
            show: false
        }
    },
    yAxis: {
        type: 'value',
        name: 'Value',
        splitArea: {
            show: false
        }
    },
  
    series: [{
        name: 'PM1',
        type: 'boxplot',
        datasetIndex: 2
    }, {
        name: 'PM2.5',
        type: 'boxplot',
        datasetIndex: 3
    }]
}; 

An typescript error in 5.1.0

Failed to compile.
*****node_modules/echarts/types/dist/echarts.d.ts
TypeScript error in *****node_modules/echarts/types/dist/echarts.d.ts(6391,13):
Type expected. TS1110
6389 | $vars: string[];
6390 | } & {

6391 | [key in ${ComponentMainType}Index]: number;
| ^
6392 | } & {
6393 | [key in string]: unknown;
6394 | };
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.