web-dev-qa-db-ja.com

ChartJS折れ線グラフ-線の下の色を削除

わかりましたので、DBからのデータを直接取り込むChartJS折れ線グラフが機能しています。ここで必要なのは、各線の下の色を取り除くことです。 [下のスクリーンショットをご覧ください]。

Example of Graph

これが私のHTMLです。

<div ng-if="hasData">
    <canvas id="line" class="chart chart-line" data="data" labels="labels" legend="true" series="series" options="options" click="onClick"></canvas>
<div>

これが私のJSです。

            scope.labels = ['02:00','04:00','06:00', '08:00', '10:00', '12:00','14:00', '16:00', '18:00', '20:00', '22:00'];
            scope.series = series;
            scope.data = [volumesSelectedDate, volumesPeakDate, volumesModelCapacity];


            scope.options = {
                scaleOverride: true,
                scaleStartValue: 0,
                scaleSteps: 11,
                scaleStepWidth: 6910,
            }

            scope.loadingDailyAppVolumes = false;
            scope.hasData = true;


        };
        scope.onClick = function (points, evt) {
            //console.log(points, evt);
        };

だから、これについてどうすればいいですか?また、各行の色を手動で設定するにはどうすればよいですか?

例:

選択した日付:青、ピーク日:黄色、モデル容量:灰色。

ありがとう。

36
Manus Gallagher

Chart.jsドキュメントの このセクション を確認してください。データセット構成内でfillプロパティをfalseに設定します。

var data = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [{
        label: "My First dataset",
        fill: false,
        data: [1, 2, 3]
    }]
};

各行の線の色を変えたい場合は、borderColorプロパティに配列を指定します。

var myColors = ['red', 'green', 'blue']; // Define your colors

var data = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [{
        label: "My First dataset",
        fill: false,
        borderColor: myColors
        data: [1, 2, 3]
    }]
};
52
JasonK

以下のソリューションは、Angularとチャートjsを統合したときに機能していました

$scope.options = {
                    scales: {
                      yAxes: [
                        {
                          id: 'y-axis-1',
                          type: 'linear',
                          display: true,
                          position: 'left'
                        }
                      ]
                    },
                    elements: {
                        line: {
                                fill: false
                        }
                    }
                };

<canvas id="" class="col-sm-12 chart chart-line" chart-data="data"
                            chart-options="options" chart-colors="colors">
</canvas>
22
akshat thakar

この問題を解決しました。

最初の一歩。 html要素の内部追加<-chart-colors = "colors"このように:

<canvas id="line" class="chart chart-line" data="data" labels="labels" chart-colors="colors" legend="true" series="series" options="options" click="onClick"></canvas>

第二段階。 $ scope val colorsこのように追加:

$scope.colors = [{
        backgroundColor : '#0062ff',
        pointBackgroundColor: '#0062ff',
        pointHoverBackgroundColor: '#0062ff',
        borderColor: '#0062ff',
        pointBorderColor: '#0062ff',
        pointHoverBorderColor: '#0062ff',
        fill: false /* this option hide background-color */
    }, '#00ADF9', '#FDB45C', '#46BFBD'];

幸運を!

6
오동규

これは私のために働いた:

$scope.color = [{
                  backgroundColor: 'transparent',
                  borderColor: '#F78511',
                },];
5
Wahome

データセットオプションでfillオプションをfalseに設定するだけです。

data: {
   datasets: [{
      label: "",
      data: dataPoints,
      borderColor: color ,
      fill:false //this for not fill the color underneath the line
                                }]
                            },
4
Sandy Elkassar

Angular-chart.jsを使用して同じ問題が発生し、望ましい結果が得られました:

$scope.override = {
    fill: false
};

そして

<canvas class="chart chart-line" 
    chart-dataset-override="override"
    chart-data="data">
</canvas>
0
Jared