1

都市の名前に基づいてバブルに色を付けようとしています。if this.point.capital == Montgomery & this.point.capital == Juneau; のようなもの。色=「赤」。しかし、この if 関数を color 属性に追加することはできません。あなたは私を助けることができます?

ありがとう!!!!

series: [{
            name: 'Basemap',
            mapData: map,
            borderColor: '#606060',
            nullColor: 'rgba(200, 200, 200, 0.2)',
            showInLegend: false
        }, {
            name: 'Separators',
            type: 'mapline',
            data: H.geojson(map, 'mapline'),
            color: '#101010',
            enableMouseTracking: false
        }, {
            type: 'mapbubble',
            dataLabels: {
                enabled: true,
                format: '{point.capital}'
            },
            name: 'Cities',
            data: data,
            maxSize: '12%',
            color: H.getOptions().colors[0]
        }]

http://jsfiddle.net/oufwhmz0/

4

1 に答える 1

3

dataチャートを開始する前に、配列内の各バブル (シリーズ全体ではなく) に対して個別にこれを行います。たとえば、コードを拡張します ( JSFiddle ):

function determineColor(entry) {
    if(entry.capital == "Montgomery")
        return "#FF00FF";
    else if(entry.capital == "Salt Lake City")
        return "#00FF00";
    return null;
}

// Add series with state capital bubbles
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=us-capitals.json&callback=?', function (json) {
    var data = [];
    $.each(json, function (ix, entry) {
        entry.z = entry.population;
        entry.color = determineColor(entry); // Added
        data.push(entry);
    });

    // ... rest as usual
});

これは、関数で定義されているように、 colorfor each entry(バブルになります) を設定するだけdetermineColorです。

于 2015-06-06T00:27:08.150 に答える