代码之家  ›  专栏  ›  技术社区  ›  Gary McGill

使用colorByPoint时,如何设置序列的图例符号颜色?

  •  1
  • Gary McGill  · 技术社区  · 7 年前

    我有一个包含两个系列的柱状图(今年,去年),其中我想为某些“组”的柱设置颜色,以表示季节,如下所示:

    enter image description here

    为此,我设定了 colors 对于每个系列,使用 colorByPoint this fiddle

    请注意,图表图例对这两个系列的符号使用相同的灰色(我甚至不知道灰色是从哪里来的-它不是一个从“调色板”的颜色在这两个系列)。

    如何设置每个系列的图例符号颜色? (理想情况下,我希望在“今年”系列中使用较深的灰色,以反映该系列中所有点的颜色都较深的事实)。

    data 参数中包含颜色设置,我不想这样做,因为在我的实际示例中,数据来自通过 所以我没有能力用这种方式使用对象。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Halvor Holsten Strand mtorres    7 年前

    基于 this previous answer

    colorizeItem 系统的功能 Legend 你可以使用 legendColor 属性:

    (function(H) {
        H.wrap(H.Legend.prototype, 'colorizeItem', function(proceed, item, visible) {
            var color = item.color;
            item.color = item.options.legendColor;
            proceed.apply(this, Array.prototype.slice.call(arguments, 1));
            item.color = color;
        });
    }(Highcharts));
    

    但你还是申请了 传奇色彩 :

    $('#container').highcharts({
        series: [{
            legendColor: 'black',
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
        }]
    });
    

    看到了吗 this updated JSFiddle demonstration