Javascript ChartJS仅显示特定记号的大字体大小
我试图强调X轴上的特定值,如果它满足特定条件 例如,在我的示例中,我只想更改“蓝色”栏的字体大小。这在Chart.js中可能吗Javascript ChartJS仅显示特定记号的大字体大小,javascript,chart.js,Javascript,Chart.js,我试图强调X轴上的特定值,如果它满足特定条件 例如,在我的示例中,我只想更改“蓝色”栏的字体大小。这在Chart.js中可能吗 var ctx = document.getElementById("myChart").getContext('2d'); var myChart = new Chart(ctx, { type: 'bar', data: { labels: ["Red", "Blue", "Yellow", "Green", "Purple", "O
var ctx = document.getElementById("myChart").getContext('2d');
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
}
}],
xAxes: [{
ticks: {
//only show large font size for 'Blue'
fontSize: 16
}
}]
}
}
});
根据他们的文件看来这是不可能的。您只能使用函数执行类似大写所需标签的操作
根据他们的文件看来这是不可能的。您只能使用函数执行类似大写所需标签的操作
Chartjs没有公共api来执行此操作,但您可以修改上的内部标记,并将标签“蓝色”设置为
major:true
,然后使用标记配置选项中的样式来绘制该标签
也要谨慎使用,因为它依赖于内部实现,因此可能会在将来的版本中中断(不太可能发生,只是说说而已)
var ctx=document.getElementById(“myChart”).getContext(“2d”);
var myChart=新图表(ctx{
类型:'bar',
数据:{
标签:[“红色”、“蓝色”、“黄色”、“绿色”、“紫色”、“橙色”],
数据集:[{
标签:“#投票数”,
数据:[12,19,3,5,2,3],
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
边框宽度:1
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
}
}],
xAxes:[{
滴答声:{
尺寸:16,
主修:{
尺寸:20
}
}
}]
}
},
插件:[{
beforeDraw:函数({chart},选项){
图表框
.find(box=>box.id==“x轴-0”)
[美]蜱
.find(勾号=>勾号。标签==“蓝色”)
.major=正确;
}
}]
});代码>
Chartjs没有公共api来执行此操作,但您可以在上修改内部标记,并将标签“蓝色”设置为major:true
,然后使用标记配置选项中的样式来绘制标签
也要谨慎使用,因为它依赖于内部实现,因此可能会在将来的版本中中断(不太可能发生,只是说说而已)
var ctx=document.getElementById(“myChart”).getContext(“2d”);
var myChart=新图表(ctx{
类型:'bar',
数据:{
标签:[“红色”、“蓝色”、“黄色”、“绿色”、“紫色”、“橙色”],
数据集:[{
标签:“#投票数”,
数据:[12,19,3,5,2,3],
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
边框宽度:1
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
}
}],
xAxes:[{
滴答声:{
尺寸:16,
主修:{
尺寸:20
}
}
}]
}
},
插件:[{
beforeDraw:函数({chart},选项){
图表框
.find(box=>box.id==“x轴-0”)
[美]蜱
.find(勾号=>勾号。标签==“蓝色”)
.major=正确;
}
}]
});代码>
只是出于好奇。您是否试图突出显示最大值?如果是这样,为什么不突出显示整个栏?如果你想知道怎么做,请告诉我。只是出于好奇。您是否试图突出显示最大值?如果是这样,为什么不突出显示整个栏?如果你想知道怎么做,请告诉我。
xAxes: [{
ticks: {
fontSize: 16,
callback: v => v === 'Blue' ? v.toUpperCase() : v
}
}]