微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何更改amcharts4中值/类别的文本颜色?

如何解决如何更改amcharts4中值/类别的文本颜色?

我想更改类别的颜色和文本的值(请参见嵌入式图片),我不确定它是否与CSS样式或amcharts api有关。但是,我确实设法用label.fill = am4core.color("white");

更改了标签
.chartdiv {
  padding: 10px 10px;
  background: #1a2035; 
  font-size: 12px; 
  line-height: 11px;
  width: 610px;
  border-radius: 15px;
  border-style: solid;
  border-color: #1a2035;
  border-width: 1px;
  opacity: 0.75;

}

.chartdiv .ImpactHeader {      
  line-height: 14px;
  text-align: center;
  font-weight: 600;
  margin-bottom: 5px;
}

.chartdiv .ImpactLead {
  font-weight: 500;
}

.chartdiv .ImpactCount {
  text-align: right;
  font-weight: 600;
}

.chartdiv .ImpactEnd {
  font-weight: 500;
}

.chartdiv:empty {
  display: none;
} 

代码

    am4core.ready(function() {

    const units = 'km';
    
    // Themes begin
    am4core.useTheme(am4themes_animated);
    
    // Themes end

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

    // Add data
    chart['data'] = [{"country":"","volume":'','Name':''}];

    // Create axes

    var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
    categoryAxis.datafields.category = "country"; 
    categoryAxis.renderer.grid.template.location = 10;
    categoryAxis.renderer.minGriddistance = 20;

    var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());

    // Create series
    var series = chart.series.push(new am4charts.ColumnSeries());
    series.datafields.valueY = "volume";
    series.datafields.categoryX = "country";
    series.datafields.countryNameX = "c_name";
    series.name = "volume";     
    
    series.columns.template.tooltipText = "{countryNameX}: [bold]{valueY}[/] "+units;
    series.columns.template.fillOpacity = .8;

    //label units on left side
    var label = chart.createChild(am4core.Label);
    label.text = units;
    label.fontSize = 16;
    label.align = "left";
    label.rotation=270;
    label.isMeasured = false;
    label.x = -10;
    label.y = 50;
    label.fill = am4core.color("white");
    
    var columnTemplate = series.columns.template;
    columnTemplate.strokeWidth = 1;
    columnTemplate.strokeOpacity = 1;       
    }); 

enter image description here

解决方法

您需要按照here所述,直接在轴对象的标签模板上设置颜色:

categoryAxis.renderer.labels.template.fill = am4core.color("#ffffff");
valueAxis.renderer.labels.template.fill = am4core.color("#ffffff");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。