是否可以向图表js添加自定义字体?

时间:2016-07-11 10:13:07

标签: javascript chart.js

我想在Chart JS中使用外部字体。有谁知道这是否可能?我通过文档搜索过,但我还没有找到解决方案。

2 个答案:

答案 0 :(得分:6)

确实可能。

考虑到您已导入字体(例如,来自GoogleFonts),
您只需要编辑chart options中的defaultFontFamily属性,如下所示:

var options = {
    // 'Raleway' is the name of the fond I imported from GoogleFonts
    defaultFontFamily: Chart.defaults.global.defaultFontFamily = "'Raleway'"
}

有关defaultFontFamily属性的详细信息,请参阅Lolka's answer

一个完整的工作示例:

Chart.defaults.global.defaultFontFamily = "Indie Flower";
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart.min.js"></script>
<link href='https://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
  
<canvas id="myChart" width="400" height="400"></canvas>

答案 1 :(得分:1)

Google Chart.JS custom font

的第一个结果

来自documentation:

  

有4种特殊的全局设置可以更改所有字体   在图表上。这些选项位于Chart.defaults.global。

     

...

     

defaultFontFamily String&#34;&#39; Helvetica Neue&#39;,&#39; Helvetica&#39;,&#39; Arial&#39;,   无衬线&#34;所有文本的默认字体系列