Amcharts Inherit Font或设置所有Element Font

时间:2017-08-28 16:48:28

标签: jquery css fonts amcharts

我已将页面css设置为:

AmCharts.defaultFontFamily = 'Not the Default AmCharts Font';

我没有在图表代码中指定字体,但图表不会继承页面的css定义字体。

有没有办法一次性全局设置所有Amcharts元素的字体? 类似的东西:

$('.amcharts').find('*').css('font-family', 'Not the Default AmCharts Font');

我也对某些jQuery解决方案感到满意,如:

{
"wrapper": "section",
"className": "row",
"hideExpression":"function($viewValue, $modelValue, scope){ return (scope.model['Application__c']['Years1__c'] && (parseFloat(scope.model['Application__c']['Years1__c']+'x.'+scope.model['Application__c']['Months1__c'])+parseFloat(scope.model['Application__c']['Years__c']+'.'+scope.model['Application__c']['Months__c']))>2); }" ,
"fieldGroup": [ {
  "key": "Application__c.City_Prev1__c",
  "type": "alphabet",
  "hideExpression":"function($viewValue, $modelValue, scope){ return !scope.model['Application__c']['Years1__c']  }" ,
  "className": "col-xs-7 col-sm-6 col-md-5 col-lg-5",
  "templateOptions": {
    "label": "City",
    "required": true,
    "maxlength": 20,
    "objectName": "Application__c",
    "fieldName": "City_Prev1__c"
  }
}]
}

这些解决方案都没有起作用。

我真的希望这至少影响以下因素: 图表标题 ,Axes标题 ,Axes标签 ,图形标签 ,气球文字 ,传奇标签 ,传奇价值观

1 个答案:

答案 0 :(得分:2)

由于AmCharts使用内联样式和属性,您可能需要使用!important来覆盖字体

.yourchartclass * {
  font-family: 'Impact' !important;
}

另一种方法是利用AmCharts.addInitHandler方法创建一个全局init侦听器,该侦听器可以根据需要在多种类型的图表上运行,并设置fontFamily和其他初始化期间的属性例如:

AmCharts.addInitHandler(function(chart) {
  chart.fontFamily = 'Oswald';
  chart.fontSize = 16;
});

您还可以指定图表类型数组,以限制initHandler可以运行的内容。您还可以向图表对象添加自定义标志,并使用它们来确定要设置的设置,例如:

AmCharts.addInitHandler(function(chart) {
  if (chart.useLato) {
    chart.fontFamily = "Lato";
    chart.fontSize = 16;
  } else if (chart.useRoboto) {
    chart.fontFamily = "Roboto";
    chart.fontSize = 12;
  } else {
    chart.fontFamily = "Oswald";
    chart.fontSize = 12;
  }
});

这里有demo这个。