web-dev-qa-db-ja.com

HighChartsで個々のシリーズの色をカスタマイズする

折れ線グラフにHighChartsを使用しており、各シリーズの線の色を変更しようとしています。この例を見つけました ここ しかし、データはハードコーディングされています。私のデータはSQLデータベースから取得され、いくつかのVBコードを使用してHTMLページに渡されます。

        var chart; 
        $(document).ready(function () {
            chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'container',
                    defaultSeriesType: 'column'
                },
                title: {
                    text: 'Chart Title'
                },
                subtitle: {
                    text: 'Chart subtitle'
                },
                xAxis: {
                    categories: [<%= GraphDate %>]
                    ,
                    labels:
                    {
                        rotation: -45,
                        align: 'right',
                        style:
                        {

                        }
                    }
                },
                yAxis: {
                    min: 160,
                    title: {
                        text: 'Temp'
                    }
                },
                legend: {
                    layout: 'vertical',
                    backgroundColor: '#FFFFFF',
                    align: 'left',
                    verticalAlign: 'top',
                    x: 400,
                    y: 0,
                    floating: true,
                    shadow: true
                },
                tooltip: {
                    formatter: function () {
                        return '' +
                            this.x + ': ' + this.y + ' ºC';
                    }
                },
                plotOptions: {
                    column: {
                        pointPadding: 0.2,
                        borderWidth: 0
                    }
                },
                series: 

                [<%= GraphSeries %>],
            });

他の投稿を使用してスタイルを設定しようとしましたが、グラフを生成できませんでした。ただし、主な問題は、折れ線グラフに2つの系列があるため、以下の方法で両方の系列の色を設定すると思いますか?だから、どういうわけか私のvbコードでシリーズをフォーマットする必要がありますか?

series: [{ 
    color: 'yellow',
    data: [
        [<%= GraphSeries %>]
    ]},

編集:

$(document).ready(function () {
            chart = new Highcharts.Chart({
            colors: ['#4572A7', '#AA4643', '#89A54E', '#80699B', '#3D96AE', '#DB843D', '#92A8CD', '#A47D7C', '#B5CA92']

                chart: {
                    renderTo: 'container',
                    defaultSeriesType: 'column'
                }
10
Blob

トップレベルの設定には、colorsフィールドを含めることができます。これは、シリーズの色が選択される配列です。

ここを参照

これが私のプロジェクトの作業部分です

var chart;
$(document).ready(function () {
    chart = new Highcharts.Chart({
        chart:{
            renderTo:'perfchart',
            type:'line',
            marginRight:130,
            marginBottom:25
        },
        colors: ['#0000FF', '#0066FF', '#00CCFF'],
        title:{
            text:'Historical system performance',
            x:-20 //center
        },

外観:

highcharts colors

26

以下のコード(およびそれがレンダリングするプロット)を参照してください。

以下のスニペットはcompleteスクリプトです-つまり、2つのスクリプトタグの間のマークアップに配置するか、マークアップにインクルードを含むスタンドアロンのjsファイルとして配置します。

ColorsはChartオブジェクトであるため、最も簡単な方法は、色の配列を(16進文字列として)渡すことです。

 $(function () {
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                type: 'line'
            },
            colors: ['#562F1E', '#AF7F24', '#263249', '#5F7F90', '#D9CDB6'],
            title: {
               text: false
            },
            yAxis: {
                title: {
                    text: false
                }
           },
           series: [{
                name: 'series I',
                data: [17.4, 16.1, 19.45, 24.15, 28.44, 33.15, 37.2, 41.25, 43.3]
           },
           {
                name: 'series II',
                data: [13.19, 17.23, 25.74, 28.5, 33.9, 35.62, 37.0, 36.6, 34.82]
           }
           ]
        });
    });
})

enter image description here

3
doug

色はシリーズの一部として構成できます。次のようなものを試してください。

series: [
    {
        name: 'series I',
        color: '#ffffff',
        data: [17.4, 16.1, 19.45, 24.15, 28.44, 33.15, 37.2, 41.25, 43.3]
    }
];
3
Vivek Singh