Alternative Highcharts

Salut!

Ce alternative la Highcharts recomandati?

Mie unul imi place Highcharts, poate si pentruc a este integrat in aplicatie si l-am personalizat cum am vrut si dupa gust.

Ma intereseaza performanta, in sensul sa afiseze multe puncte fara sa faca Google Chrome sa sughita :slight_smile: si bineinteles functionalitati cum ar fi axe multiple, labe;-uri, daca pot sa adaug un tooltip cusotm cum ar fi, sa ascund toate seriile de timp de pe un grafic cu un buton.

Bonus points pt cat de bine se integreaza cu in Primefaces.
Pana acum amCharts arata destul de bine, are multe tipuri de grafice, api usor de folosit.
D3.js extrem de flexibil, dar cam complicat de lucrat cu el.

ECharts e super fain si free.

La o prima vedere arata foarte bine :sunglasses:

Imi place ca chartul se face declarativ. :slight_smile:
Si vad ca este in Apache Software Foundation, dar nu stiu la ce se refera acel incubating.

oricum in voi propune.

Initial ECharts a fost dezvoltata de chinezii de la Baidu. De aia o sa vezi si chineza pe acolo.

plotly, the one and only

nu echarts, c’mon! highcharts e scump si slab overall

1 Like

Acum ma joc cu el si deja incepe sa imi placa :slight_smile:

multe tooltip-uri, usor de utilizat, arata bine
si este open source

l-am propus colegilor si astept feedback-ul lor

Am trecut la Matplotlib dupa ce am avut nevoie de viteza in generare de chart-uri. Nu asa frumos ca Google, dar foarte avansat si cu multe optiuni.

2 Likes
1 Like

Alex, dar nu este pentu pyhton si din ce stiu, nu cred ca merge pentru web.

@zitrusgrape, merci pt sugestie

1 Like

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.

Tocmai am implementat intr-un proiect chart.js. Se lucreaza usor cu el. Ca optiuni are suficiente pentru nevoile de baza.

Îți poți scrie propriul chart în canvas, după dacă chiar ai nevoie de ceva translatie, animație sau să lucrezi direct cu obiecte în loc de desen atunci d3.js ar fi cel mai practic.

Dacă îți trebuie pentru React:

@sorin19, am impresia ca de la chart.js s-a plecat. Cand am venit eu pe proiect, s-a trecut la Highcharts.

Poate ne intoarcem la el :slight_smile:

Chiar acum testez plotly. Am reusit sa plotez datele de pe un json.

<p>Hello world! This is HTML5 Boilerplate.</p>



<div id='myDiv'><!-- Plotly chart will be drawn inside this DIV --></div>
<script>
    let url = "http://localhost:8080/chart" // a json endpoint
    let xl = []
    let yl = []

    Plotly.d3.json(url, function(figure){
        let data = figure
        for (var i=0; i< data.length; i++) {
            xl.push(data[i].unixTime)
            yl.push(data[i].cases)
        }
        console.log(xl)
        let trace = {
            x: xl,
            y: yl
        }
        Plotly.plot(document.getElementById("myDiv"), [trace]); }) // second argument must be an array

@isti37, prea complex pentru use case-ul de care am nevoie. :slight_smile:

E decent. Cerintele mele nu erau prea complexe pe partea de afisare a datelor. Au documentatie destul de ok si niste plugin-uri (eu folosesc labels). Mi-a luat o ora si ceva sa ma decid asupra unei librarii, sa aleg chart si sa scot primul grafic (datele le aveam deja pregatite, doar le-am pus in formatul de care are el nevoie). Zic asta ca sa stii la ce sa te astepti daca vrei sa il incerci, adica sa nu fi reticent crezand ca o sa iti ia jumatate de zi sa-ti faci o parere.

E posibil ca chart.js asta sa fie o continuare a lui grafs.js, o chestie facuta de cei de la imperavi.com, dar pe care nu am mai gasit-o la ei pe site (stiam de ea pt ca am folosit-o acum vreo 5 ani, ultima data cand am avut nevoie de grafice). Si din ce-mi asuc aminte e destul de asemanator.

Colegii mei au fost incantati de plotly :slight_smile:

Sa vedem cum o integram in aplicatie.

1 Like

Si ca feedback final, am luat decizia sa integram Plotly in aplicatie.

Multumesc pentru recomandari.

Voi reveni si cu impresii post implementare. :slight_smile:

2 Likes

Si un update al implementarii

Colegii mei au facut 3 prototipuri cu Chartjs, Plotly si amCharts. Toate ne-au placut. :slight_smile:

amCharts - multe functionalitati, dar randa greu punctele de pe grafic, asa ca a fost eliminat
Au mai ramas Plotly si ChartJs. In final am ales ChartsJs.

Din punct de vedere al performatei, Plotly si ChartJs sunt apropae identice in timpi de randare a punctelor cu diferente de sub o secunda. Insa in final am ales sa merge cu ChartJs pentru ca Plotly are niste bug-uri legate de legende care sunt deschise de prin 2015 si nu au fost rezolvate pana acum,

Acum au fost implementate lucrurile de baza si lucram la finisaje :slight_smile:

Dificultatea cea mare a fost si inca este sa facem sa semene cat de mult se poate cu chart-urile Highcharts. Cu mici diferente evident. :slight_smile:


Si ca feedback final, am luat decizia sa integram Plotly in aplicatie.

Nu stiam la momentul acela ca mai erau si altele luate la ochi :grin:

1 Like

multam de feedback