2017-11-29 5 views
0

Ich werde mit highcharts an Wordcloud arbeiten. Dies ist mein Array, das Name und Gewicht für jedes Tag enthält.Wordcloud-Tags erscheinen nicht in einer bestimmten Schriftgröße - Highcharts

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

Und hier werde ich Schriftgröße jedem Tag zuweisen.

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; 
}; 

Hiermit ist meine fiddle beigefügt. Lassen Sie mich wissen, wenn die Frage nicht klar ist.

+0

Ist das richtig http://jsfiddle.net/eqtyotxm/3/. Übrigens hat Ihr bestehender Code keine Problemprüfung https://imgur.com/a/LV5Dw –

+0

'derivateFontSize' wird verwendet, um den Tags die Schriftgröße zuzuordnen. Bitte überprüfen Sie mit dem Bild. https://imgur.com/sw1wfZv – htoniv

+0

"Gewicht" entsprechend anpassen, um die erforderliche Größe zu erhalten. Sie können versuchen, für Dezimalwert, um Unterschiede zu verfeinern –

Antwort

1

Nachdem die Schriftgrößen berechnet wurden Wort-Wolke-Verkäufe die Serie-Gruppe, um es mit der Grundstücksfläche zu passen.

Sie können diese deaktivieren, indem Sie das Überschreiben getScale Funktion:

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; 
    }; 

Live-Demo:http://jsfiddle.net/kkulig/06dpcrss/

Architektur des Wortes Wolke Skript nicht einige der Funktionen zuzugreifen erlaubt, nachdem das Skript beendet . Sie müssen auch kopiert werden.

+0

Vielen Dank @Kamil Kulig – htoniv

Verwandte Themen