Здесь есть пузырьковая диаграмма для флота здесь
Обратите внимание, что вам нужно самим масштабировать размер пузырьков, если вы не хотите, чтобы они покрывали график. Документация здесь .
Чтобы использовать его, добавьте следующее в начале своей HTML-страницы:
и вызовите его из результата json или любого объекта данных, как в этом примере:
$.getJSON('myQuery.py?'+params, function(oJson) {
// ... Some validation here to see if the query worked well ...
$.plot('#myContainer',
// ---------- Series ----------
[{
label: 'Line Sample',
data: oJson.lineData,
color: 'rgba(192, 16, 16, .2)',
lines: { show: true },
points: { show: false }
},{
label: 'Bubble Sample',
data: oJson.bubbleData, // arrays of [x,y,size]
color: 'rgba(80, 224, 80, .5)',
lines: { show: false },
points: { show: false },
},{
label: 'Points sample',
data: oJson.pointsData,
color: 'rgba(255, 255, 0, 1)',
lines: { show: false },
points: { show: true, fillColor: 'rgba(255, 255, 0, .8)' }
},{
...other series
}],
// ---------- Options ----------
{ legend: {
show: true,
labelBoxBorderColor: 'rgba(32, 32, 32, .2)',
noColumns: 6,
position: "se",
backgroundColor: 'rgba(224, 224, 224, .2)',
backgroundOpacity: .2,
sorted: false
},
series: {
bubbles: { active: true, show: true, fill: true, linewidth: 2 }
},
grid: { hoverable: true, clickable: true } },
xaxis: { tickLength: 0 }
}); // End of plot call
// ...
}); // End of getJSON call
Я пытался сделать то же самое с jqPlot, который имеет некоторые преимущества, но не работает с пузырьками и другими сериями на одном графике. Также Flot лучше справляется с синхронизацией масштаба общих осей со многими сериями. Highchart действительно хорошо справляется с этой задачей (смешивая пузырьковую диаграмму с другими сериями), но не является бесплатным для нас (правительственный контекст).