JavaScript TypeScript / ES6 ...
<style >
#chartdiv {
width : 100% ;
max-width : 500px ;
height : 500px ;
}
</style >
<script src ="https://cdn.amcharts.com/lib/5/index.js" > </script >
<script src ="https://cdn.amcharts.com/lib/5/percent.js" > </script >
<script src ="https://cdn.amcharts.com/lib/5/themes/Animated.js" > </script >
<script >
am5.ready (function ( ) {
var root = am5.Root .new ("chartdiv" );
root.setThemes ([
am5themes_Animated.new (root)
]);
var chart = root.container .children .push (am5percent.SlicedChart .new (root, {
layout : root.verticalLayout
}));
var series = chart.series .push (am5percent.FunnelSeries .new (root, {
alignLabels : true ,
orientation : "vertical" ,
valueField : "value" ,
categoryField : "category" ,
bottomRatio : 1
}));
series.slices .template .setAll ({
cornerRadiusBL : 5 ,
cornerRadiusBR : 5 ,
cornerRadiusTL : 5 ,
cornerRadiusTR : 5
})
series.links .template .setAll ({
forceHidden : true ,
height : 5
})
series.data .setAll ([
{ value : 10 , category : "One" },
{ value : 9 , category : "Two" },
{ value : 6 , category : "Three" },
{ value : 5 , category : "Four" }
]);
series.appear ();
var legend = chart.children .push (am5.Legend .new (root, {
centerX : am5.p50 ,
x : am5.p50 ,
marginTop : 15 ,
marginBottom : 15
}));
legend.data .setAll (series.dataItems );
chart.appear (1000 , 100 );
});
</script >
<div id ="chartdiv" > </div >
import am5index from "@amcharts/amcharts5/index" ;
import am5percent from "@amcharts/amcharts5/percent" ;
import am5themes_Animated from "@amcharts/amcharts5/themes/Animated" ;
let root = am5.Root .new ("chartdiv" );
root.setThemes ([
am5themes_Animated.new (root)
]);
let chart = root.container .children .push (am5percent.SlicedChart .new (root, {
layout : root.verticalLayout
}));
let series = chart.series .push (am5percent.FunnelSeries .new (root, {
alignLabels : true ,
orientation : "vertical" ,
valueField : "value" ,
categoryField : "category" ,
bottomRatio : 1
}));
series.slices .template .setAll ({
cornerRadiusBL : 5 ,
cornerRadiusBR : 5 ,
cornerRadiusTL : 5 ,
cornerRadiusTR : 5
})
series.links .template .setAll ({
forceHidden : true ,
height : 5
})
series.data .setAll ([
{ value : 10 , category : "One" },
{ value : 9 , category : "Two" },
{ value : 6 , category : "Three" },
{ value : 5 , category : "Four" }
]);
series.appear ();
let legend = chart.children .push (am5.Legend .new (root, {
centerX : am5.p50 ,
x : am5.p50 ,
marginTop : 15 ,
marginBottom : 15
}));
legend.data .setAll (series.dataItems );
chart.appear (1000 , 100 );