• Demos
    • JavaScript Charts
    • JavaScript StockCharts
  • Download/NPM
    • Download CanvasJS
    • Install via NPM
  • Integrations
    Front End Technology Samples
    • React Charts
    • Angular Charts
    • Vue.js Charts New!
    • jQuery Charts
    • Dashboards
    Server Side Technology Samples
    • PHP Charts
    • Python Charts New!
    • ASP.NET MVC Charts
    • Spring MVC Charts
    • JSP Charts
  • License
  • Blog
  • Docs
    • Chart Documentation
    • StockChart Documentation
  • Support Forum
    • Chart Support
    • StockChart Support
  • My Account
My Account
  • KEY FEATURES
    • Chart with Index Label
    • Multi Series Chart
    • Chart with Zooming & Panning
    • Synchronized Charts
    • Chart with Animation
    • Chart With Image Overlay
    • Chart with Secondary Axis
    • Chart with Null Data
    • Chart with Dynamic Data
    • Column Chart with Reversed Axis
    • Chart with Logarithmic Axis
    • Chart using JSON Data
    • Performance With 50,000 Data Points
    • Draggable Column Chart
    • Chart with Axis / Scale Break
    • Chart with Crosshair
    • Chart with Customized Legends
    • Drilldown Chart
    • Responsive Chart
    • Chart with Axis Labels & Ticks inside Plot Area
    • Sync ToolTip across Multiple Charts
  • LINE CHARTS
    • Line Chart
    • Dashed Line Chart
    • Multi Series Line Chart
    • Line Chart with Zoom and Pan
    • Line Chart with Data Marker
    • Line Chart with Logarithmic Axis
    • Line Chart with Axis / Scale Break
    • Line Chart with Multiple Axes
    • Spline Chart
    • Multi Series Spline Chart
    • Dynamic Spline Chart
    • Spline Chart with Secondary Axis
    • Spline Chart with Legends
    • Step Line Chart
    • Multi Series Step Line Chart with Null Data
  • AREA CHARTS
    • Area Chart
    • Multi Series Area Charts
    • Spline Area Chart
    • Multi Series Spline Area Charts
    • Step Area Chart
    • Range Area Chart
    • Multi Series Range Area Charts
    • Range Spline Area Chart
    • Stacked Area Chart
    • Stacked Area 100% Chart
    • Stacked Area 100% Chart with Date-Time Axis
  • COLUMN & BAR CHARTS
    • Column Chart
    • Column Charts with Multiple Axes
    • Bar Chart
    • Multi Series Bar Chart
    • Bar Chart with Axis / Scale Break
    • Range Column Chart
    • Multi Series Range Column Chart
    • Stacked Column Chart
    • Stacked Column 100% Chart
    • Range Bar Chart
    • Stacked Bar Chart
    • Stacked Bar 100% Chart
    • Waterfall Chart
    • Multi Series Waterfall Chart
    • Waterfall Chart with Custom Colors
  • PIE & FUNNEL CHARTS
    • Pie Chart
    • Pie Chart with Legends
    • Pie Chart with Custom Radius
    • Doughnut Chart
    • Doughnut Chart with Custom Inner Radius
    • Funnel Chart
    • Funnel Chart with Custom Neck
    • Inverted Funnel Chart
    • Pyramid Chart
    • Pyramid Chart with Values represented by Area
    • Pyramid Chart With Index Labels Placed Inside
  • FINANCIAL CHARTS
    • Candlestick Chart
    • Multi Series Candlestick Chart
    • Combination of Candlestick & Line Chart
    • OHLC Chart
    • OHLC Chart from JSON Data using AJAX
  • SCATTER & BUBBLE CHARTS
    • Scatter / Point Chart
    • Multi Series Scatter / Point Chart
    • Scatter Chart with Custom Markers
    • Bubble Chart
    • Bubble Chart with Zoom & Pan
    • Bubble Chart with Custom Markers
  • BOX & WHISKER CHARTS
    • Box And Whisker Chart
    • Box and Whisker Chart with Color Customization
    • Box And Whisker Chart with Outliers
  • COMBINATION CHARTS
    • Error Chart
    • Error Line Chart
    • Error Bar Chart
    • Pareto Chart
    • Pareto Chart with Index / Data Label
    • Combination of Range Area and Line Charts
    • Combination of Column, Line and Area Chart
    • Combination of OHLC and Line Chart
  • DYNAMIC CHARTS
    • Dynamic / Live Column Chart
    • Dynamic / Live Line Chart
    • Dynamic / Live Multi Series Chart
  • ANGULAR, REACT, VUE.JS, JQUERY
    • Angular Charts
    • React Charts
    • Vue.js Charts
    • jQuery Charts
  • SERVER SIDE TECHNOLOGIES
    • ASP.NET MVC Charts
    • PHP Charts
    • Python Charts
    • JSP Charts
    • Spring MVC Charts

JavaScript Bubble Charts & Graphs

Download JavaScript Chart Samples
  • JavaScript Chart Samples
  • React Chart Samples
  • Angular Chart Samples
  • Vue.js Chart Samples
  • jQuery Chart Samples
  • PHP Chart Samples
  • Python Django Chart Samples
  • ASP.NET Chart Samples
  • JSP Chart Samples
  • Spring MVC Chart Samples
  • Dashboard Samples
  • JavaScript StockChart Samples

JavaScript Bubble Chart allows you to visualize data in 3 dimensions. It is very much similar to Scatter Charts except that size of bubble represents another parameter/dimension. Out of the three parameters required (x, y, z), x & y determine the bubble's position on X & Y Axis & z determines its size. One notable behavior of bubble is that z value of data point is proportional to the area of bubble but not diameter/radius. Given example shows JavaScript Bubble Chart along with source code that you can edit in-browser or save to run it locally.

Try Editing The Code

Download Copy JSFiddle
window.onload = function () {

var chart = new CanvasJS.Chart("chartContainer", {
	animationEnabled: true,
	title:{
		text: "Fertility Rate vs Life Expectancy in Different Countries - 2015"
	},
	axisX: {
		title:"Life Expectancy (in Years)"
	},
	axisY: {
		title:"Fertility Rate",
		includeZero: true
	},
	legend:{
		horizontalAlign: "left"
	},
	data: [{
		type: "bubble",
		showInLegend: true,
		legendText: "Size of Bubble Represents Population in Millions",
		legendMarkerType: "circle",
		legendMarkerColor: "grey",
		toolTipContent: "<b>{name}</b><br/>Life Exp: {x} yrs<br/> Fertility Rate: {y}<br/> Population: {z}mn",
		dataPoints: [
			//{ x: 68.3, y: 2.4, z: 1309.05 , name: "India"},
			//{ x: 76, y: 1.57, z:1371.22, name: "China"},
			{ x: 78.7, y: 1.84, z:320.896, name: "US" },
			{ x: 69.1, y: 2.44, z: 258.162, name: "Indonesia" },
			{ x: 74.7, y: 1.78, z: 225.962, name: "Brazil" },
			{ x: 76.9, y: 2.21, z: 125.890, name: "Mexico" },
			{ x: 53, y: 5.59, z: 181.181, name: "Nigeria" },
			{ x: 70.9, y: 1.75, z: 144.096, name: "Russia" },
			{ x: 83.8, y: 1.46, z:127.141, name: "Japan" },
			{ x: 82.5, y: 1.83, z:23.789, name: "Australia" },
			{ x: 71.3, y: 3.31, z: 93.778, name: "Egypt" },
			{ x: 81.6, y: 1.81, z:65.128, name: "UK" },
			{ x: 62.1, y: 4.26, z: 47.236, name: "Kenya" },
			{ x: 69.6, y: 4.51, z: 36.115, name: "Iraq" },
			{ x: 60.7, y: 4.65, z: 33.736, name: "Afganistan" },
			{ x: 52.7, y: 6, z: 27.859, name: "Angola" },
			{ x: 68.4, y: 2.94, z: 101.716, name: "Philippines" },
			{ x: 70, y: 2.17, z: 28.656, name: "Nepal" },
			{ x: 71.2, y: 1.51, z: 45.154, name: "Ukrain" },
			{ x: 83.4, y: 1.62, z: 46.447, name: "Spain" },
			{ x: 64.6, y: 4.28, z: 99.873, name: "Ethiopia" },
			{ x: 74.6, y: 1.5, z: 68.65, name: "Thailand" },
			{ x: 74.2, y: 1.88, z: 48.228, name: "Colombia" },
			{ x: 74.44, y: 2.34, z: 31.155, name: "Venezuela" },
			{ x: 57.4, y: 2.34, z: 55, name: "South Africa" },
			{ x: 59.2, y: 3.86, z: 15.77, name: "Zimbabwe" },
			{ x: 55.9, y: 4.63, z: 22.834, name: "Cameroon"}
		]
	}]
});
chart.render();

}                                

Chart Customizations

You can change the type of marker using markerType. You can further customize the marker using markerBorderThickness, markerBorderColor or markerColor.

Quick Links

  • Chart Docs
  • StockChart Docs
  • About Us
  • FAQs

Server Side Technologies

  • ASP.NET MVC Charts
  • PHP Charts
  • JSP Charts
  • Spring MVC Charts

Front Side Technologies

  • JavaScript Charts
  • jQuery Charts
  • React Charts
  • Angular Charts
  • JavaScript StockCharts

Contact

  • Fenopix, Inc.
  • 2093 Philadelphia Pike,
  • #5678, Claymont,
  • Delaware 19703
  • United States Of America

©2025 Fenopix Privacy Policy Cookies Policy Careers