如何通过Highcharts.setOptions()统一设置plotBand标签字体样式?
如何通过Highcharts.setOptions()全局设置plotBand标签样式?
可以通过在Highcharts.setOptions()的轴配置(xAxis/yAxis)中定义plotBands.label.style,实现全局统一设置plotBand标签的字体及其他样式,无需逐个图表或plotBand单独配置。
修改后的全局配置代码示例
Highcharts.setOptions({ colors: ['red', '#434348', '#90ed7d', '#f7a35c', '#8085e9', '#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1' ], chart: { backgroundColor: '#FFF', reflow: true, }, title: { style: { color: '#333', font: '18px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif' } }, subtitle: { style: { color: '#666666', font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' } }, legend: { itemStyle: { font: 'bold 12px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif', color: '#333', }, itemHoverStyle: { color: 'gray' }, symbolRadius: 0 }, tooltip: { style: { font: '12px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif', fontSize: '12px' } }, xAxis: { labels: { style: { color: '#606060', font: '11px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif' }, distance: 8 }, // 新增全局plotBand标签样式配置 plotBands: { label: { style: { color: '#333', font: '12px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif' } } } }, yAxis: { labels: { style: { color: '#606060', font: '11px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif' } }, title: { style: { color: '#606060', font: '12px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif' } }, // 如果需要yAxis的plotBand也全局设置,同样添加这段 plotBands: { label: { style: { color: '#333', font: '12px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif' } } } }, plotOptions: { series: { dataLabels: { style: { fontWeight: 'bold', fontSize: '12px' } } } }, });
效果说明
配置完成后,所有通过Highcharts.chart()创建的图表中,xAxis(或yAxis)的所有plotBand标签都会自动继承这个全局样式。如果某个特定plotBand需要单独调整样式,只需要在该plotBand的label.style中覆盖对应属性即可,全局配置不会被完全覆盖。
内容的提问来源于stack exchange,提问作者P. Zantinge
相关产品推荐
相关产品推荐

