Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用字符串值而不是数据制作图表?_Javascript_Angular_Charts_Chart.js - Fatal编程技术网

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,只需调整回调函数即可。我不太明白你的第二句话。我刚刚意识到,我没有提到你提供的数据样本。你能提供更大的实际数据样本吗?我将编辑我的答案以合并…我更新了我的答案,请让我知道是否清楚:)