javascript - 每个 amchart 切片的自定义渐变颜色

标签 javascript html amcharts

this 中切片的颜色如何?饼图更改为所需的渐变颜色,而不会失去那种绚丽的渐变效果。我使用 amcharts(一个 JavaScript 库)来创建图表。

code , 每个切片颜色都是自动生成的。

<!-- Styles -->
<style>
#chartdiv {
  width: 100%;
  height: 500px;
}

</style>

<!-- Resources -->
<script src="https://www.amcharts.com/lib/4/core.js"></script>
<script src="https://www.amcharts.com/lib/4/charts.js"></script>
<script src="https://www.amcharts.com/lib/4/themes/animated.js"></script>

<!-- Chart code -->
<script>
// Themes begin
am4core.useTheme(am4themes_animated);
// Themes end

// Create chart instance
var chart = am4core.create("chartdiv", am4charts.PieChart);

// Add data
chart.data = [{
  "country": "Lithuania",
  "litres": 501.9
}, {
  "country": "Czech Republic",
  "litres": 301.9
}, {
  "country": "Ireland",
  "litres": 201.1
}, {
  "country": "Germany",
  "litres": 165.8
}, {
  "country": "Australia",
  "litres": 139.9
}, {
  "country": "Austria",
  "litres": 128.3
}, {
  "country": "UK",
  "litres": 99
}, {
  "country": "Belgium",
  "litres": 60
}, {
  "country": "The Netherlands",
  "litres": 50
}];

// Add and configure Series
var pieSeries = chart.series.push(new am4charts.PieSeries());
pieSeries.dataFields.value = "litres";
pieSeries.dataFields.category = "country";
pieSeries.innerRadius = am4core.percent(50);
pieSeries.ticks.template.disabled = true;
pieSeries.labels.template.disabled = true;

let rgm = new am4core.RadialGradientModifier();
rgm.brightnesses.push(-0.8, -0.8, -0.5, 0, - 0.5);
pieSeries.slices.template.fillModifier = rgm;
pieSeries.slices.template.strokeModifier = rgm;
pieSeries.slices.template.strokeOpacity = 0.4;
pieSeries.slices.template.strokeWidth = 0;

chart.legend = new am4charts.Legend();
chart.legend.position = "right";
</script>

<!-- HTML -->
<div id="chartdiv"></div>

最佳答案

amcharts 使用预定义的颜色集来设置图表样式。您可以通过不同的方式自定义该颜色集:

  • 为您的应用创建一个全局主题 (docs)
  • 仅为一个图表/系列创建自定义颜色集 (code pen)
pieSeries.colors.list = [
    am4core.color("#845EC2"),
    am4core.color("#D65DB1"),
    am4core.color("#FF6F91"),
    am4core.color("#FF9671"),
    am4core.color("#FFC75F"),
    am4core.color("#F9F871")
];
  • 为每个切片独立设置自定义颜色 ( code pen )
pieSeries.slices.template.propertyFields.fill = "color";
pieSeries.slices.template.propertyFields.stroke = "color";

此外,您可以添加渐变来设置图表样式。

Here您会在 amcharts 中找到更多关于颜色和渐变的文档。

关于javascript - 每个 amchart 切片的自定义渐变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54699861/

相关文章:

javascript - 使用来自 Threejs 的 Canvas 定位 div

angular - 没有悬停事件的 Amcharts4 标记 html 工具提示

javascript - AmCharts map 禁用鼠标悬停时的翻转颜色

javascript - 如何使用 Javascript 查找下一张图片 src

javascript - 在JS数组中设置对象参数的问题

html - 带有 ng-repeat 的表

html - 即使在 div 中,转换(缩小)的 iframe 仍然占用空间

javascript - 关闭窗口时调用函数,但刷新时不调用

javascript - 如何正确缩放 d3 图表?

javascript - amcharts 中文本重叠时的偏移指南标签