Kwestia będziesz napotkasz podczas korzystania highcharts dla tego zadania jest, że wielkość pęcherzyków będą specyficzne dla wykresu aktualnie wyświetlanie. Jeśli chcesz realistycznie powiększyć wzrost bąbelków, musisz przyjąć nieco inne podejście.
Użyłem kombinacji HighCharts i jQuery UI Labeled suwaka, aby osiągnąć to całkiem niedawno.
Musisz mieć:
W highcharts-MO re.src.js, znaleźć ten rozdział:
for (i = 0, len = zData.length; i < len; i++) {
zRange = zMax - zMin;
pos = zRange > 0 ? // relative size, a number between 0 and 1
(zData[i] - zMin)/(zMax - zMin) :
0.5;
radii.push(math.round(minSize + pos * (maxSize - minSize))/2);
}
i zastąpić ją w ten sposób:
for (i = 0, len = zData.length; i < len; i++) {
radii.push((zData[i]/maxSize)*100);
}
Wtedy, kiedy zainicjować highcharts trzeba ustawić:
plotOptions: {
bubble: {
maxSize: MAXVALUE } }
Gdzie MAXVALUE jest najwyższą wartością na wszystkich wykresach.
Następnie należy zaktualizować dane wykresu za pomocą preferowanej metody opartej na każdym tiku. Przykład:
$("#slider").labeledslider({
value:0,
min: 0,
max: 7,
step: 1,
slide: function(event, ui) {
adjustHighchart(ui.value);
}
});
To będzie upewnić się, że bańka na wykresie 1, który ma wielkość 100 jest mniejszy niż bańka na wykresie 2, który ma rozmiar 200, co nie byłoby, gdyby po prostu zaktualizowany dane za każdym razem, ponieważ są one relatywne do aktualnie wyświetlanych danych.
Możliwe rozwiązanie do tworzenia wykresów bąbelkowych ... http://jondavidjohn.github.io/bubblechart/ – jondavidjohn