我已将页面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标签 ,图形标签 ,气球文字 ,传奇标签 ,传奇价值观
答案 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这个。