2016-09-05 12 views
5

Im ChartJSを使用してデータを表示していますが、IE、Firefox、Safariでキャンバス要素を正しく描画していません。ChartJSキャンバスがIE、Safari、Firefoxでrgba色を表示しない

私の推測では、Chromeでうまく動作するので、背景色プロパティには他のブラウザのプレフィックスが使用されていないと思います。

他にもこの問題がありましたか?

クローム

enter image description here

のFirefox、SafariとIE: enter image description here

コード:

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

データ内の配列要素が文字列でなければならない: 'データ:[ "12"、 "19"、 "3"、「5 "、" 2 "、" 3 "、" 10 "、" 29 "] –

答えて

6

問題は、あなたが与えているということですbackgroundColorプロパティは、単一の配列ではなくColorの配列です。

プロパティがtrueに設定されている折れ線グラフは、Colorの1つだけ必要です。そうしないと、チャート上のように折れてしまいます。


だから、ちょうどから変更する必要がありますに

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)' 
], 

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

そして、それはあなたが使用しているものは何でもブラウザあなたにthis resultを与えるだろう。
(テストはIE 11とFirefox 48で行った)

enter image description here

+1

パーフェクト!ありがとうございました。 – andromedainiative

+0

あなたの答えをありがとう。これはドキュメントに記載されていますか?私はchat.jsのウェブサイトから直接同じ問題と私の例を持って来ました。どうしてそれらがすべてのブラウザで完全に動作しない例を与えるのか分かりませんか? – Scott

+0

@Scottこれはドキュメントには書かれていませんが、質問の際に折れ線グラフといくつかの色を混ぜ合わせた例は思い出せません。どの例を使用しましたか? – tektiv

関連する問題