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

标签 javascript chart.js

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

最佳答案

确实有可能。

考虑到您已经导入了字体(例如来自 GoogleFonts),
您只需编辑 chart options 中的 defaultFontFamily 属性像这样:

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

参见 Lolka's answer有关 defaultFontFamily 属性的更多信息。

一个完整的工作示例:

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>

关于javascript - 是否可以向图表 js 添加自定义字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38304357/

相关文章:

javascript - 使用属性类元素作为数组

javascript - Chart.js 如何修改现有图例

javascript - 如何从一个js文件回调另一个js文件?

java - ChartJS "Unable to get property ' getTime' 未定义或空引用”

javascript - AJAX onreadystatechange : navigate away and save changes at same time

javascript - 如何管理 react 中的已读和未读通知?

javascript - 我如何诊断和修复我荒谬的长 meteor 构建时间?

javascript - Node.js异步编码难度

angular - 如何为 ng2-charts 条形图设置静态标签?

javascript - Chart.js 中的水平轴标签