Javascript 如何使用字符串值而不是数据制作图表?
我目前正在尝试使用库创建图表。 看起来应该是这样的: 我有一个有值的对象,比如Javascript 如何使用字符串值而不是数据制作图表?,javascript,angular,charts,chart.js,Javascript,Angular,Charts,Chart.js,我目前正在尝试使用库创建图表。 看起来应该是这样的: 我有一个有值的对象,比如 { January: "A", February: "B", ... } 我正试图通过我创建的以下映射,用字母映射数据(type-number): export const mapCodes = { A: { value: 8 }, B: { value: 7 }, C: { value: 6 }, D:
{
January: "A",
February: "B",
...
}
我正试图通过我创建的以下映射,用字母映射数据(type-number):
export const mapCodes = {
A: {
value: 8
},
B: {
value: 7
},
C: {
value: 6
},
D: {
value: 5
},
E: {
value: 4
},
F: {
value: 3
},
G: {
value: 2
},
NP: {
value: 1
},
TD: {
value: 1
},
};
我想要显示的数据:[6,6,6,6,6,6,6,1,1]
-它等于6个字母“C”和3个字母“NP/TD”
目前,我取得了以下成果:
6-是最大数据值,并显示在图表上。我还试着在Y刻度上显示字母“A”和“B”
代码:
我可以在Y轴上显示更多值吗?您可以使用“刻度”回调自定义标签 这里,我将每个值与一个字母相关联
A = 4
B = 3
C = 2
D = 1
然后用回调中的字母替换该值
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
callback: function(value) {
var axisLabels = 'DCBA';
// do not include ticks with decimal places
if ((value > 0) && (value.toFixed(0)) === value.toString()) {
return axisLabels.charAt(value - 1);
}
return null;
}
}
}]
}
请参阅以下工作片段
$(文档).ready(函数(){
var ctx=document.getElementById('条形图');
风险值数据={
标签:[“一月”、“二月”、“三月”、“四月”],
数据集:[{
标签:'系列',
数据:[4,3,2,1],
背景色:“rgba(54162235,1)”,
边框颜色:“rgba(54162235,0.6)”
}]
}
var图表=新图表(ctx{
类型:'bar',
数据:数据,
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的,
回调:函数(值){
var axisLabels='DCBA';
//不要包含带小数点的记号
如果((值>0)&&(value.toFixed(0))==value.toString(){
返回axisLabels.charAt(值-1);
}
返回null;
}
}
}]
}
}
});
});代码>
您可以使用ticks回调自定义标签
这里,我将每个值与一个字母相关联
A = 4
B = 3
C = 2
D = 1
然后用回调中的字母替换该值
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
callback: function(value) {
var axisLabels = 'DCBA';
// do not include ticks with decimal places
if ((value > 0) && (value.toFixed(0)) === value.toString()) {
return axisLabels.charAt(value - 1);
}
return null;
}
}
}]
}
请参阅以下工作片段
$(文档).ready(函数(){
var ctx=document.getElementById('条形图');
风险值数据={
标签:[“一月”、“二月”、“三月”、“四月”],
数据集:[{
标签:'系列',
数据:[4,3,2,1],
背景色:“rgba(54162235,1)”,
边框颜色:“rgba(54162235,0.6)”
}]
}
var图表=新图表(ctx{
类型:'bar',
数据:数据,
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的,
回调:函数(值){
var axisLabels='DCBA';
//不要包含带小数点的记号
如果((值>0)&&(value.toFixed(0))==value.toString(){
返回axisLabels.charAt(值-1);
}
返回null;
}
}
}]
}
}
});
});代码>
是否可以包含从“A”到“G”的值?如果其中只有几个值,则可以包含从A到G的值,只需调整回调函数即可。我不太明白你的第二句话。我刚刚意识到,我没有提到你提供的数据样本。你能提供更大的实际数据样本吗?我将编辑我的答案以合并…我更新了我的答案,请让我知道是否清楚:)是否可以包含从“A”到“G”的值?并且只有其中几个有值。您可以包含A到G,只需调整回调函数即可。我不太明白你的第二句话。我刚刚意识到,我没有提到你提供的数据样本。你能提供更大的实际数据样本吗?我将编辑我的答案以合并…我更新了我的答案,请让我知道是否清楚:)