如何设置Amcharts 4滚动条颜色?

时间:2019-03-15 10:20:54

标签: reactjs amcharts amcharts4

我试图在Amcharts中设置滚动条颜色,但是Amcharts网站上指定的所有选项均无效。

我在React应用中使用“ @ amcharts / amcharts4”:“ ^ 4.2.2”。

我尝试了很多下面提到的选项。他们都没有工作。

chart.scrollbarX = new am4core.Scrollbar();
chart.scrollbarX.fill = "#017acd";
chart.scrollbarX.setFill(new am4core.color("#017acd"));
chart.scrollbarX.setStroke(new am4core.color("#017acd"));
chart.scrollbarX.stroke = "#017acd"; //this sets the border line color of 
scrollbar.

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

滚动条具有backgroundthumbstartGripendGrip。每个都可以通过以下方式分别设置样式:

chart.scrollbarX.background.fill = am4core.color("#017acd");
chart.scrollbarX.thumb.background.fill = am4core.color("#017acd");
chart.scrollbarX.startGrip.background.fill = am4core.color("#017acd");
chart.scrollbarX.endGrip.background.fill = am4core.color("#017acd");
chart.scrollbarX.stroke = am4core.color("#017acd");

您可以为所有组件创建不同的状态,以为hoverpressdown)设置不同的颜色。

chart.scrollbarX.thumb.background.states.getKey('hover').properties.fill = am4core.color("#017acd");
chart.scrollbarX.thumb.background.states.getKey('down').properties.fill = am4core.color("#017acd");

我创建了this代码笔,向您展示了完整的示例。

如果您不想设置单个滚动条的样式,而是要设置应用程序中所有滚动条的样式,则建议使用creating a custom theme

function am4themes_myTheme(target) {
  if (target instanceof am4core.InterfaceColorSet) {
    target.setFor("secondaryButton", am4core.color("#6DC0D5"));
    target.setFor("secondaryButtonHover", am4core.color("#6DC0D5").lighten(-0.2));
    target.setFor("secondaryButtonDown", am4core.color("#6DC0D5").lighten(-0.2));
    target.setFor("secondaryButtonActive", am4core.color("#6DC0D5").lighten(-0.2));
    target.setFor("secondaryButtonText", am4core.color("#FFFFFF"));
    target.setFor("secondaryButtonStroke", am4core.color("#467B88"));
  }
  if (target instanceof am4core.Scrollbar) {
    target.stroke = am4core.color("#017acd");
  }
}

am4core.useTheme(am4themes_myTheme);

Here是显示主题示例的代码笔。