2013-02-04 81 views
2

我有一個Highcharts餅圖在這裏:Highcharts - 在哪裏放置風格和樣式改變爲一個楔形餅圖

1)我不是很滿意:http://jsfiddle.net/6PbbR/52/

$(function() { 

    var chart; 
    $(document).ready(function() { 

     // Radialize the colors 
    Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function(color) { 
     return { 
      radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 }, 
      stops: [ 
       [0, color] 
      ] 
     }; 
    }); 

    // Build the chart 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       plotBackgroundColor: null, 
       plotBorderWidth: null, 
       plotShadow: false, 
       shadow: true, 
        }, 
      tooltip: { 
       enabled: false 
      }, 
      title: { 
       text: "" 
      }, 
      plotOptions: { 
       pie: { 
        allowPointSelect: true, 
        size:'68%', 
        cursor: 'pointer', 
        shadow: true, 
        dataLabels: { 
         enabled: true, 
         distance: -40, 
         style: { 
         width: '100px' 
        }, 
         color: '#fff', 
         connectorColor: '#000000', 
         formatter: function() { 
          return '<b style="font-family:arial;font-size:10px;font-weight:bold">'+ this.point.name +'</b> '; 
         } 
        } 
       } 
      }, 
      series: [{ 
       type: 'pie', 
       name: 'Income Investments', 
       data: [ 
        ['FLOATING RATE FUNDS', 16.667], 
        { 
         name: 'Corporate Capital Trust', 
         y: 16.667, 
         sliced: true, 
         selected: true 
        },          
        ['BONDS', 16.667], 
        ['ANNUITIES',  16.667], 
        ['REITs', 16.667], 
        ['CDs',  16.667] 
       ] 
      }], 

     colors: [ 
        '#83a3c6', 
         '#98012e', 
        '#19699b', 
        '#ae9e8e', 
        '#5283b0', 
        '#958370' 
         ], 
     }); 
    }); 

}); 

兩個問題我如何在plotOptions中插入內聯樣式{pie {formatter。哪裏可以更好的使用API​​來代替暴力內聯風格?

2)我想改變紅色楔形的字體系列(可能修改它的定位/邊距)。這樣做的最好方法是什麼?

編輯:理想情況下,我可以完成我的需要,無需去上述功能。是否可以使用API​​將樣式附加到一個數據點?

回答

1

這是一個簡單的html,所以你可以添加一個classid,然後使用css樣式。

JS

formatter: function() { 
    return '<b id="myTooltipId">'+ this.point.name +'</b> '; 
} 

CSS

#myTooltipId { 
    font-family: arial; 
    font-size: 10px; 
    font-weight:bold 
} 

更新

裏面格式化你可以使用this切片性能。
所以你只需要檢查片是否是你想要的片。

formatter: function() { 
    // key is the slice name 
    if (this.key == 'CDs') { 
     return '<b id="myTooltipId">'+ this.point.name +'</b> '; 
    } else { 
     return this.value; 
    } 
} 
+0

我可以通過爲每個餅形楔生成一個唯一的ID來修改它。這樣,我可以將字體更改爲一個楔形,而不是全部。 我必須將這個關閉傳遞給另一個開發人員,我必須希望他們能夠正確地將css添加到他們的工作表中。所以,我寧願在API中做所有事情,但我不確定我可以只將樣式附加到一個數據點。我想這是我真正的問題。 – Jamie

+0

@Jamie所以看看我的更新。 –

+0

這對我的應用程序非常有用,謝謝! – Jamie

相關問題