【发布时间】:2019-10-27 19:20:41
【问题描述】:
我目前正在尝试使用 AmCharts4 绘制一些漂亮的饼图。
问题是我的数据集中有很多不同的小数据,这导致了很多标签。 AmCharts4 仅将标签与我的 PieChart 上的左右对齐,这导致某些标签未显示。我不想隐藏任何标签。
我在 google 上搜索并试图在 amcharts 文档中找到某些东西,但除了这个示例 https://www.codeseek.co/EpicVisionStudio/simple-pie-chart-GroyYx?lang=es 之外,我找不到任何有用的东西。这正是我需要的,但它基于 amcharts3,我想使用 amcharts4,但我无法迁移该示例。
这是我尝试使用 AmCharts4 的代码:
am4core.ready(() => {
// Themes begin
am4core.useTheme(am4themes_material);
am4core.useTheme(am4themes_animated);
// Themes end
// Create chart instance
const chart = am4core.create('chartdiv', am4charts.PieChart);
// Add data
// chart.data = this.portfolioSecurityData;
chart.data = [
{
country: 'Account Status',
litres: 501.9,
},
{
country: 'Random Safety',
litres: 301.9,
},
{
country: 'IFTA',
litres: 201.1,
},
{
country: 'Vehicle Registration',
litres: 165.8,
},
{
country: 'All Trucks In',
litres: 139.9,
},
{
country: 'Tandem Weight',
litres: 128.3,
},
{
country: 'Site Random',
litres: 99,
},
{
country: 'No WIM',
litres: 60,
},
{
country: 'more data 1',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
{
country: 'more data',
litres: 50,
},
];
chart.exporting.menu = new am4core.ExportMenu();
// Set inner radius
chart.innerRadius = am4core.percent(50);
chart.radius = am4core.percent(80);
// Add and configure Series
const pieSeries = chart.series.push(new am4charts.PieSeries());
pieSeries.dataFields.value = 'litres';
pieSeries.dataFields.category = 'country';
pieSeries.slices.template.stroke = am4core.color('#fff');
pieSeries.slices.template.strokeWidth = 2;
pieSeries.slices.template.strokeOpacity = 1;
// This creates initial animation
pieSeries.hiddenState.properties.opacity = 1;
pieSeries.hiddenState.properties.endAngle = -90;
pieSeries.hiddenState.properties.startAngle = -90;
pieSeries.labels.template.fontSize = 12;
我附上了两张结果图片:
【问题讨论】:
标签: javascript charts label amcharts amcharts4