如何更改我的 highcharts 饼图的颜色?

Posted

技术标签:

【中文标题】如何更改我的 highcharts 饼图的颜色?【英文标题】:How can I change the colors of my highcharts piechart? 【发布时间】:2012-04-17 21:21:46 【问题描述】:

我正在使用 highcharts 制作饼图,但在为我的图表加载自定义颜色集时遇到问题。

这是我的代码:

     <script type="text/javascript">
     $(function () 
     Highcharts.setOptions(
     colors: ['#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263',      '#6AF9C4']
    );
    return new Highcharts.Chart(


        chart: 
            renderTo: 'trailpiechart',
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false,
            backgroundColor: "#f8f8f8",
            margin: [20, 20, 20, 20]
        ,


        credits: 
            enabled: false
        ,

        title: 
            text: caption
        ,
        tooltip: 
            formatter: function () 
                return this.y + ' links';
            
        ,
        plotOptions: 
            pie: 
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: 
                    enabled: false
                ,
                showInLegend: true
            
        ,
        legend: 
            layout: 'vertical',
            floating: false,
            borderRadius: 0,
            borderWidth: 0
        ,
        series: [
            type: 'pie',
            name: 'Browser share',
            data: data
        ]
    );
    );
</script>

我的饼图可以使用此代码,但它只使用默认的调色板。

如何指定自定义颜色集?

【问题讨论】:

【参考方案1】:
Highcharts.setOptions(
 colors: ['#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4']
);

看下面的例子 http://jsfiddle.net/8QufV/

【讨论】:

我已经尝试过了,但是我的图例颜色正在改变,但饼图颜色没有改变。 ***.com/a/28840716/3660648 请检查这个。我们必须在系列级别添加color 属性。【参考方案2】:

对于那些喜欢在配置中初始化颜色的人,您可以简单地将颜色放在配置对象的 plotOptions 部分,如下所示:

...,
plotOptions: 
  pie: 
   colors: [
     '#50B432', 
     '#ED561B', 
     '#DDDF00', 
     '#24CBE5', 
     '#64E572', 
     '#FF9655', 
     '#FFF263', 
     '#6AF9C4'
   ],
   allowPointSelect: true,
   cursor: 'pointer',
   dataLabels: 
     enabled: false
   ,
   showInLegend: true
 
,
...

【讨论】:

如何使用 config 方法初始化工具提示功能?【参考方案3】:

我认为您需要做的是使用主题而不是 setOptions 设置颜色,如下所示:

Highcharts.theme = colors: ['#50B432', '#ED561B', '#DDDF00', '#24CBE5', 
                             '#64E572', '#FF9655', '#FFF263', '#6AF9C4']);

【讨论】:

如果您转到Pie Chart Demo,然后点击“查看视觉主题”,您将看到如何操作整个主题。 嗨,使用上面的代码没有改变托德颜色。仍然显示饼图的默认颜色【参考方案4】:

回答@Loko Web Design 的问题https://***.com/a/38794379/7475250

是否有网页说明每种“颜色”对应的内容?这里的所有答案都显示如下:

colors: ['#333', '#CB2326', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#CB2326', '#6AF9C4']

但是#333、#CB2326 等实际上发生了什么变化?显然我可以 改变它们,看看有什么变化,但如果有这个就好了 在某处可以参考。

颜色文档可用here。尽管有帮助,但它们并没有描述更改特定颜色的实际作用。下面是我最好的描述。

colors 属性为 Highcharts 提供了您希望图表循环显示的颜色。例如,如果您有以下颜色道具。

colors: ['blue', 'green']

您的馅饼切片会在蓝色和绿色之间交替。将蓝色变为红色,您的颜色将在红色和绿色之间交替。用下面的fiddle测试一下

扩展颜色列表会增加重复之前的颜色数量。

colors: ['blue', 'green', 'yellow']

如果您的数据集中有超过 4 个切片,将重复颜色。

【讨论】:

【参考方案5】:
Highcharts.setOptions(
 colors: ['#333', '#CB2326', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#CB2326',      '#6AF9C4']
);

【讨论】:

【参考方案6】:

是否有网页说明每种“颜色”对应的内容?这里的所有答案都显示如下:

colors: ['#333', '#CB2326', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#CB2326', '#6AF9C4']

但是#333、#CB2326 等实际上发生了什么变化?显然,我可以更改它们并查看发生了什么变化,但如果能在某个地方提供此参考,那就太好了。

【讨论】:

【参考方案7】:

我遇到了同样的问题。在 highcharts.css 中有一个名为“默认颜色”的部分。删除此部分后,我可以使用自定义颜色。无论如何,如果您使用 v5.0.4 或更高版本,我想您不需要 highcharts.css。

【讨论】:

很多答案都说要使用“colors”属性,但只有这个有效!我建议用你想要的颜色创建一个从 .highcharts-color-0 到 .highcharts-color-9 的 css 覆盖!【参考方案8】:

Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0.5).get('rgba')]

在高图表中,我们拥有内置颜色。所以你需要改变颜色[0]或[1]的路径............[6]

【讨论】:

以上是关于如何更改我的 highcharts 饼图的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

发生鼠标悬停事件时如何更改饼图的颜色

Highcharts 与饼图切片颜色相同的图例颜色

将鼠标悬停在饼图上时更改饼图的颜色

设置Highcharts饼图的不透明度

Highcharts构建空饼图

更改 Highcharts 系列颜色