2016-09-05 2 views
5

Ich benutze ChartJS um einige Daten anzuzeigen, aber es rendert das Canvas Element nicht korrekt in IE, Firefox und Safari.ChartJS Canvas zeigt keine RGBA Farben in IE, Safari und Firefox

Meine Vermutung ist, dass die Hintergrundfarbe Eigenschaft keine der verwendeten Präfixe für den anderen Browser fehlt, da es in Chrome funktioniert.

Hat jemand anderes dieses Problem?

Chrome:

enter image description here

Firefox, Safari und IE: enter image description here

Der Code:

window.onload = function() { 
     var ctx = document.getElementById("canvas"); 
     var myChart = new Chart(ctx, { 
      type: 'line', 
      data: { 
       labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug"], 
       datasets: [{ 
        label: '# of Value', 
        data: [12, 19, 3, 5, 2, 3, 10, 29], 
        backgroundColor: [ 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)' 
        ], 
        borderColor: [ 
         'rgba(33, 145, 81, 1)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)', 
         'rgba(33, 145, 81, 0.2)' 
        ], 
        borderWidth: 1 
       }] 
      }, 
      options: { 
       scales: { 
        yAxes: [{ 
         ticks: { 
          beginAtZero:true 
         } 
        }] 
       } 
      } 
     }); 
    }; 
    }); 
+0

Die Array-Elemente in Datenfolgen sein sollen: 'Daten: [ "12", "19", "3",„5 "," 2 "," 3 "," 10 "," 29 "]' –

Antwort

6

Das Problem ist, dass Sie die geben backgroundColor Eigenschaft ein Array von Color statt einer einzigen.

Das Liniendiagramm mit der fill -Eigenschaft, die auf true festgelegt ist, muss nur eine Color haben, sonst wird es wie bei Ihrem Diagramm brechen.


So brauchen Sie nur von sich ändern:

backgroundColor: [ 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)', 
    'rgba(33, 145, 81, 0.2)' 
], 

An:

backgroundColor: 'rgba(33, 145, 81, 0.2)', 

Und es wird Ihnen this result geben, was Browser Sie verwenden.
(Tests wurden an IE getan 11 und die folgenden 48)

enter image description here

+1

Perfekt! Vielen Dank. – andromedainiative

+0

Danke für Ihre Antwort. Wird das in den Dokumenten erwähnt? Ich hatte die gleichen Probleme und meine Beispiele stammen direkt von der Website von chat.js. Nicht sicher, warum sie Beispiele geben würden, die nicht mit allen Browsern funktionieren? – Scott

+0

@Scott Es ist nicht in den Dokumenten erwähnt, aber ich erinnere mich an kein Beispiel Mischliniendiagramme und mehrere Farben wie die Frage gestellt. Welches Beispiel hast du benutzt? – tektiv

Verwandte Themen