A streamgraph: layers that flow around a center line instead of stacking up from zero. Here, Olympic medal counts for five countries from 1896 to 2008.
A streamgraph trades exact values for shape: the thickness of each layer, and of the whole stream, shows how things grow, shrink and take each other’s place over time. Here the cancelled games of 1916, 1940 and 1944 pinch the stream to nothing, and the boycotts pinch single layers: the United States in 1980, the Soviet Union in 1984.
Built with amCharts 5, a JavaScript library. The JavaScript includes your theme and renderer (canvas or SVG); the JSON also follows the changes you make with the controls.
npm install @amcharts/amcharts5. See Getting started.
The same chart as a JSON config. Chart Maker reads and writes this format, the library's JSON parser turns it into a chart, and the <am5-chart> element puts it on a page with no code."type" is the class to create and "settings" what you would pass to its new() in code; "properties" fill in its parts, lists such as series and axes or templates such as columns.template; "refs" holds objects used in more than one place ("#series-0" stands for the one named series-0); a string starting with "@" takes a value from another object, such as "@series.get('fill')".
A complete page. Save it as an .html file and open it in a browser.
Paste this into an AI coding assistant to build the chart from scratch. More in amCharts & AI.
// Create root element
// https://www.amcharts.com/docs/v5/getting-started/#Root_element
var root = am5.Root.new("chartdiv");
// Set themes
// https://www.amcharts.com/docs/v5/concepts/themes/
root.setThemes([
am5themes_Animated.new(root),
am5themes_Responsive.new(root)
]);
// Create chart
// https://www.amcharts.com/docs/v5/charts/xy-chart/
var chart = root.container.children.push(am5xy.XYChart.new(root, {
panX: false, // a drag doesn't pan: the cursor zooms with it
panY: false,
wheelX: "panX", // a horizontal wheel or trackpad swipe pans...
wheelY: "zoomX", // ...and the vertical wheel zooms in on the years
layout: root.verticalLayout
}));
// Take every second color of the theme, so neighboring layers stand apart
chart.get("colors").set("step", 2);
// Data
var data = [
{ year: "1896", uk: 7, ussr: 0, russia: 0, usa: 20, china: 0 },
{ year: "1900", uk: 78, ussr: 0, russia: 0, usa: 55, china: 0 },
{ year: "1904", uk: 2, ussr: 0, russia: 0, usa: 394, china: 0 },
{ year: "1908", uk: 347, ussr: 0, russia: 0, usa: 63, china: 0 },
{ year: "1912", uk: 160, ussr: 0, russia: 0, usa: 101, china: 0 },
{ year: "1916", uk: 0, ussr: 0, russia: 0, usa: 0, china: 0 },
{ year: "1920", uk: 107, ussr: 0, russia: 0, usa: 193, china: 0 },
{ year: "1924", uk: 66, ussr: 0, russia: 0, usa: 198, china: 0 },
{ year: "1928", uk: 55, ussr: 0, russia: 0, usa: 84, china: 0 },
{ year: "1932", uk: 34, ussr: 0, russia: 0, usa: 181, china: 0 },
{ year: "1936", uk: 36, ussr: 0, russia: 0, usa: 92, china: 0 },
{ year: "1940", uk: 0, ussr: 0, russia: 0, usa: 0, china: 0 },
{ year: "1944", uk: 0, ussr: 0, russia: 0, usa: 0, china: 0 },
{ year: "1948", uk: 56, ussr: 0, russia: 0, usa: 148, china: 0 },
{ year: "1952", uk: 31, ussr: 117, russia: 0, usa: 130, china: 0 },
{ year: "1956", uk: 45, ussr: 169, russia: 0, usa: 118, china: 0 },
{ year: "1960", uk: 28, ussr: 169, russia: 0, usa: 112, china: 0 },
{ year: "1964", uk: 28, ussr: 174, russia: 0, usa: 150, china: 0 },
{ year: "1968", uk: 18, ussr: 188, russia: 0, usa: 149, china: 0 },
{ year: "1972", uk: 29, ussr: 211, russia: 0, usa: 155, china: 0 },
{ year: "1976", uk: 32, ussr: 285, russia: 0, usa: 155, china: 0 },
{ year: "1980", uk: 45, ussr: 442, russia: 0, usa: 0, china: 0 },
{ year: "1984", uk: 72, ussr: 0, russia: 0, usa: 333, china: 76 },
{ year: "1988", uk: 53, ussr: 294, russia: 0, usa: 193, china: 53 },
{ year: "1992", uk: 50, ussr: 0, russia: 0, usa: 224, china: 83 },
{ year: "1996", uk: 26, ussr: 0, russia: 115, usa: 260, china: 110 },
{ year: "2000", uk: 55, ussr: 0, russia: 188, usa: 248, china: 79 },
{ year: "2004", uk: 57, ussr: 0, russia: 192, usa: 264, china: 94 },
{ year: "2008", uk: 77, ussr: 0, russia: 143, usa: 315, china: 184 }
];
// Add scrollbar, hidden at first
// https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/
chart.set("scrollbarX", am5.Scrollbar.new(root, { orientation: "horizontal", forceHidden: true }));
// Create axes
// https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
var xAxis = chart.xAxes.push(am5xy.CategoryAxis.new(root, {
categoryField: "year",
// the axis starts and ends in the middle of the first and last year, so no half cells stay empty
startLocation: 0.5,
endLocation: 0.5,
renderer: am5xy.AxisRendererX.new(root, {
pan: "zoom", // drag along the axis to zoom it
minorGridEnabled: true, // fainter grid lines between the labeled years
minGridDistance: 50 // at least 50px between the labels
}),
tooltip: am5.Tooltip.new(root, {}) // shows the cursor's year on the axis
}));
xAxis.data.setAll(data);
var yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {
renderer: am5xy.AxisRendererY.new(root, {
pan: "zoom" // drag along the axis to zoom it
})
}));
// The layers are centered on zero, so values on this axis mean nothing:
// hide its labels and grid. Tooltips show the real numbers.
yAxis.get("renderer").labels.template.set("forceHidden", true);
yAxis.get("renderer").grid.template.set("forceHidden", true);
// Add series
// https://www.amcharts.com/docs/v5/charts/xy-chart/series/
// adds one country's layer, filled between its low and high edges
function createSeries(field, name) {
var series = chart.series.push(am5xy.SmoothedXLineSeries.new(root, {
name: name,
xAxis: xAxis,
yAxis: yAxis,
// the layer fills between its low and high edges, set below; valueField keeps the real number
valueField: field,
valueYField: field + "_hi",
openValueYField: field + "_low",
categoryXField: "year",
tooltip: am5.Tooltip.new(root, {
pointerOrientation: "horizontal", // the tooltip points sideways at the layer
// the name in large type, then the year and the real value
labelText: "[fontSize: 18px]{name}[/]\n{categoryX}: [bold]{" + field + "}[/]"
})
}));
// Do not show tooltip for zero values
series.get("tooltip").adapters.add("visible", function(visible, target) {
if (target.dataItem && (target.dataItem.get("value") > 0)) {
return true;
}
return false;
});
series.strokes.template.setAll({
forceHidden: true // no lines along the edges, only the fill
});
series.fills.template.setAll({
visible: true, // fill turned on...
fillOpacity: 1 // ...and solid
});
// Make stuff animate on load
// https://www.amcharts.com/docs/v5/concepts/animations/
series.appear();
}
createSeries("uk", "United Kingdom");
createSeries("ussr", "Soviet Union");
createSeries("russia", "Russia");
createSeries("usa", "United States");
createSeries("china", "China");
// Prepare data for the river-stacked series
for (var i = 0; i < data.length; i++) {
var row = data[i];
var sum = 0;
// Calculate open and close values
chart.series.each(function(series) {
var field = series.get("valueField");
var val = Number(row[field]);
row[field + "_low"] = sum; // the layer starts where the one before ended...
row[field + "_hi"] = sum + val; // ...and ends its value higher
sum += val;
});
// Adjust values so they are centered
var offset = sum / 2; // half the stack's total
chart.series.each(function(series) {
var field = series.get("valueField");
row[field + "_low"] -= offset;
row[field + "_hi"] -= offset;
});
}
chart.series.each(function(series) {
series.data.setAll(data);
});
// Add cursor
chart.set("cursor", am5xy.XYCursor.new(root, {
behavior: "zoomXY", // a drag draws a box and zooms both axes to it
xAxis: xAxis
}));
// Make stuff animate on load
// https://www.amcharts.com/docs/v5/concepts/animations/
chart.appear(1000, 100);
{
"type": "XYChart",
"settings": {
"panX": false,
"panY": false,
"wheelX": "panX",
"wheelY": "zoomX",
"layout": {
"type": "VerticalLayout"
},
"scrollbarX": {
"type": "Scrollbar",
"settings": {
"orientation": "horizontal",
"forceHidden": true
}
},
"cursor": {
"type": "XYCursor",
"settings": {
"behavior": "zoomXY",
"xAxis": "#axis-0"
}
},
"colors": {
"type": "ColorSet",
"settings": {
"step": 2,
"passOptions": {
"hue": 0.05,
"saturation": 0,
"lightness": 0
},
"colors": [
{
"type": "Color",
"value": "#67b7dc"
},
{
"type": "Color",
"value": "#6794dc"
},
{
"type": "Color",
"value": "#6771dc"
},
{
"type": "Color",
"value": "#8067dc"
},
{
"type": "Color",
"value": "#a367dc"
},
{
"type": "Color",
"value": "#c767dc"
},
{
"type": "Color",
"value": "#dc67ce"
},
{
"type": "Color",
"value": "#dc67ab"
},
{
"type": "Color",
"value": "#dc6788"
}
],
"reuse": false,
"startIndex": 0,
"stateAnimationDuration": 600
}
}
},
"properties": {
"series": [
"#series-0",
"#series-1",
"#series-2",
"#series-3",
"#series-4"
],
"xAxes": [
"#axis-0"
],
"yAxes": [
"#axis-1"
]
},
"refs": [
{
"data-0": [
{
"year": "1896",
"uk": 7,
"ussr": 0,
"russia": 0,
"usa": 20,
"china": 0,
"uk_low": -13.5,
"uk_hi": -6.5,
"ussr_low": -6.5,
"ussr_hi": -6.5,
"russia_low": -6.5,
"russia_hi": -6.5,
"usa_low": -6.5,
"usa_hi": 13.5,
"china_low": 13.5,
"china_hi": 13.5
},
{
"year": "1900",
"uk": 78,
"ussr": 0,
"russia": 0,
"usa": 55,
"china": 0,
"uk_low": -66.5,
"uk_hi": 11.5,
"ussr_low": 11.5,
"ussr_hi": 11.5,
"russia_low": 11.5,
"russia_hi": 11.5,
"usa_low": 11.5,
"usa_hi": 66.5,
"china_low": 66.5,
"china_hi": 66.5
},
{
"year": "1904",
"uk": 2,
"ussr": 0,
"russia": 0,
"usa": 394,
"china": 0,
"uk_low": -198,
"uk_hi": -196,
"ussr_low": -196,
"ussr_hi": -196,
"russia_low": -196,
"russia_hi": -196,
"usa_low": -196,
"usa_hi": 198,
"china_low": 198,
"china_hi": 198
},
{
"year": "1908",
"uk": 347,
"ussr": 0,
"russia": 0,
"usa": 63,
"china": 0,
"uk_low": -205,
"uk_hi": 142,
"ussr_low": 142,
"ussr_hi": 142,
"russia_low": 142,
"russia_hi": 142,
"usa_low": 142,
"usa_hi": 205,
"china_low": 205,
"china_hi": 205
},
{
"year": "1912",
"uk": 160,
"ussr": 0,
"russia": 0,
"usa": 101,
"china": 0,
"uk_low": -130.5,
"uk_hi": 29.5,
"ussr_low": 29.5,
"ussr_hi": 29.5,
"russia_low": 29.5,
"russia_hi": 29.5,
"usa_low": 29.5,
"usa_hi": 130.5,
"china_low": 130.5,
"china_hi": 130.5
},
{
"year": "1916",
"uk": 0,
"ussr": 0,
"russia": 0,
"usa": 0,
"china": 0,
"uk_low": 0,
"uk_hi": 0,
"ussr_low": 0,
"ussr_hi": 0,
"russia_low": 0,
"russia_hi": 0,
"usa_low": 0,
"usa_hi": 0,
"china_low": 0,
"china_hi": 0
},
{
"year": "1920",
"uk": 107,
"ussr": 0,
"russia": 0,
"usa": 193,
"china": 0,
"uk_low": -150,
"uk_hi": -43,
"ussr_low": -43,
"ussr_hi": -43,
"russia_low": -43,
"russia_hi": -43,
"usa_low": -43,
"usa_hi": 150,
"china_low": 150,
"china_hi": 150
},
{
"year": "1924",
"uk": 66,
"ussr": 0,
"russia": 0,
"usa": 198,
"china": 0,
"uk_low": -132,
"uk_hi": -66,
"ussr_low": -66,
"ussr_hi": -66,
"russia_low": -66,
"russia_hi": -66,
"usa_low": -66,
"usa_hi": 132,
"china_low": 132,
"china_hi": 132
},
{
"year": "1928",
"uk": 55,
"ussr": 0,
"russia": 0,
"usa": 84,
"china": 0,
"uk_low": -69.5,
"uk_hi": -14.5,
"ussr_low": -14.5,
"ussr_hi": -14.5,
"russia_low": -14.5,
"russia_hi": -14.5,
"usa_low": -14.5,
"usa_hi": 69.5,
"china_low": 69.5,
"china_hi": 69.5
},
{
"year": "1932",
"uk": 34,
"ussr": 0,
"russia": 0,
"usa": 181,
"china": 0,
"uk_low": -107.5,
"uk_hi": -73.5,
"ussr_low": -73.5,
"ussr_hi": -73.5,
"russia_low": -73.5,
"russia_hi": -73.5,
"usa_low": -73.5,
"usa_hi": 107.5,
"china_low": 107.5,
"china_hi": 107.5
},
{
"year": "1936",
"uk": 36,
"ussr": 0,
"russia": 0,
"usa": 92,
"china": 0,
"uk_low": -64,
"uk_hi": -28,
"ussr_low": -28,
"ussr_hi": -28,
"russia_low": -28,
"russia_hi": -28,
"usa_low": -28,
"usa_hi": 64,
"china_low": 64,
"china_hi": 64
},
{
"year": "1940",
"uk": 0,
"ussr": 0,
"russia": 0,
"usa": 0,
"china": 0,
"uk_low": 0,
"uk_hi": 0,
"ussr_low": 0,
"ussr_hi": 0,
"russia_low": 0,
"russia_hi": 0,
"usa_low": 0,
"usa_hi": 0,
"china_low": 0,
"china_hi": 0
},
{
"year": "1944",
"uk": 0,
"ussr": 0,
"russia": 0,
"usa": 0,
"china": 0,
"uk_low": 0,
"uk_hi": 0,
"ussr_low": 0,
"ussr_hi": 0,
"russia_low": 0,
"russia_hi": 0,
"usa_low": 0,
"usa_hi": 0,
"china_low": 0,
"china_hi": 0
},
{
"year": "1948",
"uk": 56,
"ussr": 0,
"russia": 0,
"usa": 148,
"china": 0,
"uk_low": -102,
"uk_hi": -46,
"ussr_low": -46,
"ussr_hi": -46,
"russia_low": -46,
"russia_hi": -46,
"usa_low": -46,
"usa_hi": 102,
"china_low": 102,
"china_hi": 102
},
{
"year": "1952",
"uk": 31,
"ussr": 117,
"russia": 0,
"usa": 130,
"china": 0,
"uk_low": -139,
"uk_hi": -108,
"ussr_low": -108,
"ussr_hi": 9,
"russia_low": 9,
"russia_hi": 9,
"usa_low": 9,
"usa_hi": 139,
"china_low": 139,
"china_hi": 139
},
{
"year": "1956",
"uk": 45,
"ussr": 169,
"russia": 0,
"usa": 118,
"china": 0,
"uk_low": -166,
"uk_hi": -121,
"ussr_low": -121,
"ussr_hi": 48,
"russia_low": 48,
"russia_hi": 48,
"usa_low": 48,
"usa_hi": 166,
"china_low": 166,
"china_hi": 166
},
{
"year": "1960",
"uk": 28,
"ussr": 169,
"russia": 0,
"usa": 112,
"china": 0,
"uk_low": -154.5,
"uk_hi": -126.5,
"ussr_low": -126.5,
"ussr_hi": 42.5,
"russia_low": 42.5,
"russia_hi": 42.5,
"usa_low": 42.5,
"usa_hi": 154.5,
"china_low": 154.5,
"china_hi": 154.5
},
{
"year": "1964",
"uk": 28,
"ussr": 174,
"russia": 0,
"usa": 150,
"china": 0,
"uk_low": -176,
"uk_hi": -148,
"ussr_low": -148,
"ussr_hi": 26,
"russia_low": 26,
"russia_hi": 26,
"usa_low": 26,
"usa_hi": 176,
"china_low": 176,
"china_hi": 176
},
{
"year": "1968",
"uk": 18,
"ussr": 188,
"russia": 0,
"usa": 149,
"china": 0,
"uk_low": -177.5,
"uk_hi": -159.5,
"ussr_low": -159.5,
"ussr_hi": 28.5,
"russia_low": 28.5,
"russia_hi": 28.5,
"usa_low": 28.5,
"usa_hi": 177.5,
"china_low": 177.5,
"china_hi": 177.5
},
{
"year": "1972",
"uk": 29,
"ussr": 211,
"russia": 0,
"usa": 155,
"china": 0,
"uk_low": -197.5,
"uk_hi": -168.5,
"ussr_low": -168.5,
"ussr_hi": 42.5,
"russia_low": 42.5,
"russia_hi": 42.5,
"usa_low": 42.5,
"usa_hi": 197.5,
"china_low": 197.5,
"china_hi": 197.5
},
{
"year": "1976",
"uk": 32,
"ussr": 285,
"russia": 0,
"usa": 155,
"china": 0,
"uk_low": -236,
"uk_hi": -204,
"ussr_low": -204,
"ussr_hi": 81,
"russia_low": 81,
"russia_hi": 81,
"usa_low": 81,
"usa_hi": 236,
"china_low": 236,
"china_hi": 236
},
{
"year": "1980",
"uk": 45,
"ussr": 442,
"russia": 0,
"usa": 0,
"china": 0,
"uk_low": -243.5,
"uk_hi": -198.5,
"ussr_low": -198.5,
"ussr_hi": 243.5,
"russia_low": 243.5,
"russia_hi": 243.5,
"usa_low": 243.5,
"usa_hi": 243.5,
"china_low": 243.5,
"china_hi": 243.5
},
{
"year": "1984",
"uk": 72,
"ussr": 0,
"russia": 0,
"usa": 333,
"china": 76,
"uk_low": -240.5,
"uk_hi": -168.5,
"ussr_low": -168.5,
"ussr_hi": -168.5,
"russia_low": -168.5,
"russia_hi": -168.5,
"usa_low": -168.5,
"usa_hi": 164.5,
"china_low": 164.5,
"china_hi": 240.5
},
{
"year": "1988",
"uk": 53,
"ussr": 294,
"russia": 0,
"usa": 193,
"china": 53,
"uk_low": -296.5,
"uk_hi": -243.5,
"ussr_low": -243.5,
"ussr_hi": 50.5,
"russia_low": 50.5,
"russia_hi": 50.5,
"usa_low": 50.5,
"usa_hi": 243.5,
"china_low": 243.5,
"china_hi": 296.5
},
{
"year": "1992",
"uk": 50,
"ussr": 0,
"russia": 0,
"usa": 224,
"china": 83,
"uk_low": -178.5,
"uk_hi": -128.5,
"ussr_low": -128.5,
"ussr_hi": -128.5,
"russia_low": -128.5,
"russia_hi": -128.5,
"usa_low": -128.5,
"usa_hi": 95.5,
"china_low": 95.5,
"china_hi": 178.5
},
{
"year": "1996",
"uk": 26,
"ussr": 0,
"russia": 115,
"usa": 260,
"china": 110,
"uk_low": -255.5,
"uk_hi": -229.5,
"ussr_low": -229.5,
"ussr_hi": -229.5,
"russia_low": -229.5,
"russia_hi": -114.5,
"usa_low": -114.5,
"usa_hi": 145.5,
"china_low": 145.5,
"china_hi": 255.5
},
{
"year": "2000",
"uk": 55,
"ussr": 0,
"russia": 188,
"usa": 248,
"china": 79,
"uk_low": -285,
"uk_hi": -230,
"ussr_low": -230,
"ussr_hi": -230,
"russia_low": -230,
"russia_hi": -42,
"usa_low": -42,
"usa_hi": 206,
"china_low": 206,
"china_hi": 285
},
{
"year": "2004",
"uk": 57,
"ussr": 0,
"russia": 192,
"usa": 264,
"china": 94,
"uk_low": -303.5,
"uk_hi": -246.5,
"ussr_low": -246.5,
"ussr_hi": -246.5,
"russia_low": -246.5,
"russia_hi": -54.5,
"usa_low": -54.5,
"usa_hi": 209.5,
"china_low": 209.5,
"china_hi": 303.5
},
{
"year": "2008",
"uk": 77,
"ussr": 0,
"russia": 143,
"usa": 315,
"china": 184,
"uk_low": -359.5,
"uk_hi": -282.5,
"ussr_low": -282.5,
"ussr_hi": -282.5,
"russia_low": -282.5,
"russia_hi": -139.5,
"usa_low": -139.5,
"usa_hi": 175.5,
"china_low": 175.5,
"china_hi": 359.5
}
]
},
{
"axis-0": {
"type": "CategoryAxis",
"settings": {
"categoryField": "year",
"startLocation": 0.5,
"endLocation": 0.5,
"renderer": {
"type": "AxisRendererX",
"settings": {
"pan": "zoom",
"minorGridEnabled": true,
"minGridDistance": 50
}
},
"tooltip": {
"type": "Tooltip"
}
},
"properties": {
"data": "#data-0"
}
}
},
{
"axis-1": {
"type": "ValueAxis",
"settings": {
"renderer": {
"type": "AxisRendererY",
"settings": {
"pan": "zoom"
},
"properties": {
"labels": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
},
"grid": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
}
}
}
}
}
},
{
"series-0": {
"type": "SmoothedXLineSeries",
"settings": {
"name": "United Kingdom",
"xAxis": "#axis-0",
"yAxis": "#axis-1",
"valueField": "uk",
"valueYField": "uk_hi",
"openValueYField": "uk_low",
"categoryXField": "year",
"tooltip": {
"type": "Tooltip",
"settings": {
"pointerOrientation": "horizontal",
"labelText": "[fontSize: 18px]{name}[/]\n{categoryX}: [bold]{uk}[/]"
}
}
},
"properties": {
"data": "#data-0",
"strokes": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
},
"fills": {
"properties": {
"template": {
"settings": {
"visible": true,
"fillOpacity": 1
}
}
}
}
}
}
},
{
"series-1": {
"type": "SmoothedXLineSeries",
"settings": {
"name": "Soviet Union",
"xAxis": "#axis-0",
"yAxis": "#axis-1",
"valueField": "ussr",
"valueYField": "ussr_hi",
"openValueYField": "ussr_low",
"categoryXField": "year",
"tooltip": {
"type": "Tooltip",
"settings": {
"pointerOrientation": "horizontal",
"labelText": "[fontSize: 18px]{name}[/]\n{categoryX}: [bold]{ussr}[/]"
}
}
},
"properties": {
"data": "#data-0",
"strokes": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
},
"fills": {
"properties": {
"template": {
"settings": {
"visible": true,
"fillOpacity": 1
}
}
}
}
}
}
},
{
"series-2": {
"type": "SmoothedXLineSeries",
"settings": {
"name": "Russia",
"xAxis": "#axis-0",
"yAxis": "#axis-1",
"valueField": "russia",
"valueYField": "russia_hi",
"openValueYField": "russia_low",
"categoryXField": "year",
"tooltip": {
"type": "Tooltip",
"settings": {
"pointerOrientation": "horizontal",
"labelText": "[fontSize: 18px]{name}[/]\n{categoryX}: [bold]{russia}[/]"
}
}
},
"properties": {
"data": "#data-0",
"strokes": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
},
"fills": {
"properties": {
"template": {
"settings": {
"visible": true,
"fillOpacity": 1
}
}
}
}
}
}
},
{
"series-3": {
"type": "SmoothedXLineSeries",
"settings": {
"name": "United States",
"xAxis": "#axis-0",
"yAxis": "#axis-1",
"valueField": "usa",
"valueYField": "usa_hi",
"openValueYField": "usa_low",
"categoryXField": "year",
"tooltip": {
"type": "Tooltip",
"settings": {
"pointerOrientation": "horizontal",
"labelText": "[fontSize: 18px]{name}[/]\n{categoryX}: [bold]{usa}[/]"
}
}
},
"properties": {
"data": "#data-0",
"strokes": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
},
"fills": {
"properties": {
"template": {
"settings": {
"visible": true,
"fillOpacity": 1
}
}
}
}
}
}
},
{
"series-4": {
"type": "SmoothedXLineSeries",
"settings": {
"name": "China",
"xAxis": "#axis-0",
"yAxis": "#axis-1",
"valueField": "china",
"valueYField": "china_hi",
"openValueYField": "china_low",
"categoryXField": "year",
"tooltip": {
"type": "Tooltip",
"settings": {
"pointerOrientation": "horizontal",
"labelText": "[fontSize: 18px]{name}[/]\n{categoryX}: [bold]{china}[/]"
}
}
},
"properties": {
"data": "#data-0",
"strokes": {
"properties": {
"template": {
"settings": {
"forceHidden": true
}
}
}
},
"fills": {
"properties": {
"template": {
"settings": {
"visible": true,
"fillOpacity": 1
}
}
}
}
}
}
}
]
}