• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Chart.js w Symfony3

Object Storage Arubacloud
0 głosów
190 wizyt
pytanie zadane 6 października 2018 w JavaScript przez Piotr Zakrzewski Obywatel (1,260 p.)

Witam !

Wyciągam z bazy temperature, wilgotność i czas w jakiej to zostało wysłane z raspberry

Chciałbym to wyświetlić w wykresach, długo szukając czegoś w necie wpadłem a Chart.js który wydaje się dosyć prosty do implementacji a potem dostosowania pod moje potrzeby... 

Jednak cały czas konsola zwraca mi blad 

Uncaught ReferenceError: Chart is not defined

Zauważyłem że w dokumentacji też jest wspomniane cos o require ale mimo że dodalem require.js do mojego projektu to on i tak mi wywala blad ze 

Uncaught ReferenceError: require is not defined

{% block javascripts %}
            <script type="module" src="{{asset('bundles/chartjs/dist/Chart.js')}}"></script>
<script>
  
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});

</script>
{% endblock %}

 

{% block body %}

 <canvas id="myChart" width="400" height="400"></canvas>

{% endblock %}

 

3 odpowiedzi

0 głosów
odpowiedź 6 października 2018 przez CenterPL Pasjonat (19,070 p.)
Tak kompletnie na szybko, próbowałeś użyć cdn'a zamiast statycznego pliku? https://cdnjs.com/libraries/Chart.js, bo inne co mi przychodzi do głowy to zła ścieżka podana w funkcji asset()

Require nie jest wymagany raczej.
komentarz 6 października 2018 przez Piotr Zakrzewski Obywatel (1,260 p.)
edycja 6 października 2018 przez Piotr Zakrzewski
Przy pierwszym uruchomieniu konsola zwracala blad ze nie mozna odnalesc wskazanego pliku, po poprawce literowki blad zniknal wiec raczej twierdze ze jest poprawna.

 

Niestety sciezka z internetu odpada, projekt budowany jest w sieci wewnetrznej i jakie kolwiek podlaczenie pod skrypty przez internet wywala bledy:

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js" as such route does not exist.").

 

Edit: Przezucilem link do szablonu w ktorym beda wykresy, blad zniknal ale nic sie nie pojawia.

Edit2 gdy ustawie script tuz za canvas znow mam blad ze Uncaught ReferenceError: Chart is not defined
0 głosów
odpowiedź 6 października 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Tu masz jakiś przykładowy link do libki:

https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js

i weź to dodaj normalnie po prostu jako script przed wywołaniem Twojego skryptu korzystającego z libki.
komentarz 6 października 2018 przez Tomek Sochacki Ekspert (227,510 p.)
A jeśli wykorzystujesz częściej w kodzie chart to w ogóle wziąłbym go sobie lokalnie i podał klientowi w całym bundlu js, ale to już zależy od częstotliwości używania na różnych routingach i od wielkości całego bundla jaki by wtedy powstał.
komentarz 6 października 2018 przez Piotr Zakrzewski Obywatel (1,260 p.)
Umiescilem pierwotnie link do scriptu w base.html.twig
0 głosów
odpowiedź 6 października 2018 przez Piotr Zakrzewski Obywatel (1,260 p.)
Ok poradziłem sobie jakoś, w kodzie jest totalny śmietnik ale jakoś działa...

Jedynie mam problem... z bazy wyświetlam ostatnich 24 pomiarów a więc ostatnie dwie godziny, w tabeli mi się to ładnie wyświetla na górze najnowsze na dole najstarsze, jednak na wykrecie mam na odwrót z lewej najnowsze a z prawej najstarsze pomiary, może ktoś wie gdzie w konfiguracji podmienić ?

Podobne pytania

0 głosów
1 odpowiedź 210 wizyt
pytanie zadane 15 lipca 2018 w JavaScript przez Mebya Użytkownik (700 p.)
0 głosów
1 odpowiedź 523 wizyt
pytanie zadane 9 kwietnia 2017 w JavaScript przez Alterwar Dyskutant (7,650 p.)
0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 28 grudnia 2022 w C# przez sisOOO Obywatel (1,370 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...