我想在使用Chart JS绘制的图表中使用外部字体。有人知道是否可能吗?我已经查阅了文档,但没有找到解决方案。
我想在使用Chart JS绘制的图表中使用外部字体。有人知道是否可能吗?我已经查阅了文档,但没有找到解决方案。
确实是可能的。
如果您已经导入了字体(例如来自GoogleFonts),
您只需像这样编辑您的图表选项中的defaultFontFamily
属性:
var options = {
// 'Raleway' is the name of the fond I imported from GoogleFonts
defaultFontFamily: Chart.defaults.global.defaultFontFamily = "'Raleway'"
}
请参考Lolka的回答,了解有关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>
@font-face
的文档。然后你只需要用你导入的字体的名称(@font-face
的font-family
属性)替换Chart.defaults...
中的"Indie Flower"
即可。 - tektiv@font-face { font-family: "IRANSansMobile"; src: url("../fonts/IRANSansMobile.ttf"); } @font-face { font-family: "IRANSansMobile"; src: url("../fonts/IRANSansMobile_bold.ttf"); font-weight: bold; }
这是chart.js文件:
Chart.defaults.global.defaultFontFamily = 'IRANSansMobile, Tahoma, Arial, sans-serif';
- jsina谷歌搜索的第一个结果 Chart.JS 自定义字体
来自 文档:
有4个特殊的全局设置可以更改图表中所有字体。这些选项在 Chart.defaults.global 中。
...
defaultFontFamily 字符串 "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif" 所有文字的默认字体系列
<canvas>
元素进行绘制,因此你的问题与如何在canvas元素上使用自定义字体相同。 - Spencer Wieczorek