将favicon放在Highchart中间

时间:2018-04-18 07:40:10

标签: javascript highcharts favicon

我试图在不同的网站上找到我的问题的解决方案,但无法找到。

我使用highcharts来显示漂亮的图表(参见下图)。

Beautiful chart

我想在此图表中添加一个位于圆圈中间的图标(字体很棒的Web应用程序图标)。

我找到了一个例子(参见下图),其中一些文字被添加到其中心。

Chart with text in it.

显示此图表的代码如下:

/* Renders a pie chart using the provided chartops */
var renderPieChart = function (chartopts) {
    return Highcharts.chart(chartopts['elemId'], {
        chart: {
            type: 'pie',
            events: {
                load: function () {
                    var chart = this,                                                                     
                        rend = chart.renderer,                                                            
                        pie = chart.series[0],                                                            
                        left = chart.plotLeft + pie.center[0],                                            
                        top = chart.plotTop + pie.center[1];                                              
                    this.innerText = rend.text(chartopts['data'][0].y, left, top).                        
                    attr({                                                                                
                        'text-anchor': 'middle',                                                          
                        'font-size': '24px',                                                              
                        'font-weight': 'bold',                                                            
                        'fill': chartopts['colors'][0],                                                   
                        'font-family': 'Helvetica,Arial,sans-serif'                                       
                    }).add();                                                                             
                },                                                                                        
                render: function () {                                                                     
                    this.innerText.attr({                                                                 
                        text: chartopts['data'][0].y                                                      
                    })                                                                                    
                }                                                                                         
            }                                                                                             
        },                                                                                                
        title: {                                                                                          
            text: chartopts['title']                                                                      
        },                                                                                                
        plotOptions: {                                                                                    
            pie: {                                                                                        
                innerSize: '80%',                                                                         
                dataLabels: {                                                                             
                    enabled: false                                                                        
                }                                                                                         
            }                                                                                             
        },                                                                                                
        credits: {                                                                                        
            enabled: false                                                                                
        },                                                                                                
        tooltip: {                                                                                        
            formatter: function () {                                                                      
                if (this.key == undefined) {                                                              
                    return false                                                                          
                }                                                                                         
                return '<span style="color:' + this.color + '">\u25CF</span>' + this.point.name + ': <b>' + this.y + '</b><br/>'   
            }
        },  
        series: [{                                                                                        
            data: chartopts['data'],                                                                      
            colors: chartopts['colors'],                                                                  
        }]
    })
}

我需要在此代码中更改哪些内容,以便我能够添加图标?

谢谢,

Cycl0pe

1 个答案:

答案 0 :(得分:0)

您所要做的就是导入 CSS 并使用SVGRenderer.textuseHTML已启用):

  load: function() {
    this.renderer.text("<i style='font-size:24px' class='fa'>&#xf2b9;</i>", 290, 220, true).add();
  }

现场演示: http://jsfiddle.net/BlackLabel/mpL2chhe/