2017-11-29 15 views
0

ハイチャートを使用してワードクラウドで作業します。これは、各タグの名前と重みを含む配列です。Wordcloudタグが指定されたfontSizeに表示されない - ハイチャート

var wordArray = [{ 
    name: 'America', 
    weight: 1 
}, { 
    name: 'Australia', 
    weight: 2 
}, { 
    name: 'North AMerica', 
    weight: 3 
}, { 
    name: 'India', 
    weight: 4 
}, { 
    name: 'SOUTH TEXAS', 
    weight: 5 
}]; 

ここでは、各タグにフォントサイズを割り当てます。

Highcharts.seriesTypes.wordcloud.prototype.deriveFontSize = function(relativeWeight) { 
    var maxFontSize = 10; 
    // Will return a fontSize based on maxFontSize. 
    var rWeight = Math.floor(maxFontSize * relativeWeight); 
    var size = rWeight < 1 ? 1 : rWeight; 
    //based upon given maxFontSize the value become 10px, 8px, 6px, 4px, 2px to the corresponding tags 
    return size; 
}; 

これを添付して私のfiddleとする。その質問が明確でないかどうか私に教えてください。

+0

これは正しいですかhttp://jsfiddle.net/eqtyotxm/3/ところで、あなたの既存のコードには問題チェックがありません。https://imgur.com/a/LV5Dw –

+0

'deriveFontSize'は、各タグにフォントサイズを割り当てるために使用されます。画像でご確認ください。 https://imgur.com/sw1wfZv – htoniv

+0

必要なサイズになるように「weight」を調整します。あなたは微調整のための小数値を試すことができます –

答えて

1

フォントサイズが計算された後、ワードクラウドは、プロット領域に収まるようにシリーズグループを販売します。

あなたはgetScale機能を上書きすることで、これを無効にすることができます

var getScale = function getScale(targetWidth, targetHeight, field) { 
    /* 
    var height = Math.max(Math.abs(field.top), Math.abs(field.bottom)) * 2, 
     width = Math.max(Math.abs(field.left), Math.abs(field.right)) * 2, 
     scaleX = 1/width * targetWidth, 
     scaleY = 1/height * targetHeight; 
    return Math.min(scaleX, scaleY); 
    */ 
    return 1; 
    }; 

ライブデモ:http://jsfiddle.net/kkulig/06dpcrss/

ワードクラウドスクリプトのアーキテクチャは、スクリプトが終了した後に機能の一部にアクセスすることはできません。 。彼らもコピーする必要があります。

+0

ありがとう@カミルKulig – htoniv

関連する問題