热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何用javascript更改ChartJS字体大小?

如何解决《如何用javascript更改ChartJS字体大小?》经验,为你挑选了1个好方法。

我在页面上有一系列图表叫做charts.这是我试图运行以进行字体更改的代码:

for(var x in charts){
    charts[x].options.scales.yAxes[0].ticks.fOntSize= 20;
    charts[x].options.scales.xAxes[0].ticks.fOntSize= 20;
    charts[x].update();
}

我知道我正确地到达了fontSize属性,因为在控制台中它向我返回正确的字体大小.更改fontSize后,它返回正确的.但是,由于某种原因,实际的图表没有更新.该chart.update命令仅用于更新数据吗?

注意:这个问题与使用JS动态更新图表的其他问题不重复,因为我使用的ChartJS版本是2.7.



1> ɢʀᴜɴᴛ..:

在ChartJS 2.7.0或更高版本中,仅通过设置属性来(动态地)更改(动态)图表轴的字体大小将不会实际应用于图表.它只会为新设置的字体大小添加空格到轴'.fontSizeticks

为了正确更改图表轴'的刻度(适用于图表),您需要fontSizeminor对象(下ticks)设置属性,如下所示:

for (var x in charts) {
   // set/change the actual font-size
   charts[x].options.scales.xAxes[0].ticks.minor.fOntSize= 20;
   charts[x].options.scales.yAxes[0].ticks.minor.fOntSize= 20;

   // set proper spacing for resized font
   charts[x].options.scales.xAxes[0].ticks.fOntSize= 20;
   charts[x].options.scales.yAxes[0].ticks.fOntSize= 20;

   // update chart to apply new font-size
   charts[x].update();
}

ᴡᴏʀᴋɪɴɢᴡᴏʀᴋɪɴɢxᴀᴍᴘʟᴇ⧩

var myChart1 = new Chart(ctx1, {
   type: 'line',
   data: {
      labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
      datasets: [{
         label: 'Profit',
         data: [30, 10, 40, 20, 50],
         backgroundColor: 'rgba(61, 208, 239, 0.2)',
         borderColor: 'rgba(61, 208, 239, 0.6)'
      }]
   },
   options: {
      scales: {
         yAxes: [{
            ticks: {
               beginAtZero: true
            }
         }]
      }
   }
});

var myChart2 = new Chart(ctx2, {
   type: 'line',
   data: {
      labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
      datasets: [{
         label: 'Loss',
         data: [50, 20, 40, 10, 30],
         backgroundColor: 'rgba(239, 92, 61, 0.2)',
         borderColor: 'rgba(239, 92, 61, 0.6)'
      }]
   },
   options: {
      scales: {
         yAxes: [{
            ticks: {
               beginAtZero: true
            }
         }]
      }
   }
});

var charts = [myChart1, myChart2];

function changeFontSize() {
   for (var x in charts) {
      // set/change the font-size
      charts[x].options.scales.xAxes[0].ticks.minor.fOntSize= 20;
      charts[x].options.scales.yAxes[0].ticks.minor.fOntSize= 20;

      // set proper spacing for resized font
      charts[x].options.scales.xAxes[0].ticks.fOntSize= 20;
      charts[x].options.scales.yAxes[0].ticks.fOntSize= 20;

      // update chart to apply new font-size
      charts[x].update();
   }
}





推荐阅读
author-avatar
莱斯卡尼娅
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有