Amcharts 多轴仅转换为 x,y

Amcharts Multi axys convert to x,y only

我需要生成一个报告,按类别统计我系统上的问题线程,它使用 amcharts 4 和以下代码:

am4core.ready(function() {

// Themes begin
am4core.useTheme(am4themes_animated);
// Themes end

// Create chart instance
var chart = am4core.create("chart1", am4charts.XYChart);

//
chart.language.locale = am4lang_pt_BR;
chart.dateFormatter.language = new am4core.Language();
chart.dateFormatter.language.locale = am4lang_pt_BR;

// Increase contrast by taking evey second color
chart.colors.step = 2;

// Add data
chart.data = [{
    "date" : "2020-01",
    "Baixo" : 1596,
    "Médio" : 2902,
    "Alto" : 8702,
    "Critico" : 5695
},
{
    "date" : "2020-02",
    "Baixo" : 596,
    "Médio" : 902,
    "Alto" : 702,
    "Critico" : 695
},
{
    "date" : "2020-03",
    "Baixo" : 156,
    "Médio" : 292,
    "Alto" : 870,
    "Critico" : 569
},
{
    "date" : "2020-04",
    "Baixo" : 11596,
    "Médio" : 21902,
    "Alto" : 81702,
    "Critico" : 51695
},
{
    "date" : "2020-05",
    "Baixo" : 15906,
    "Médio" : 62902,
    "Alto" : 8702,
    "Critico" : 55695
},
{
    "date" : "2020-06",
    "Baixo" : 159,
    "Médio" : 290,
    "Alto" : 870,
    "Critico" : 569
},
{
    "date" : "2020-07",
    "Baixo" : 156,
    "Médio" : 292,
    "Alto" : 872,
    "Critico" : 565
},
{
    "date" : "2020-08",
    "Baixo" : 96,
    "Médio" : 02,
    "Alto" : 82,
    "Critico" : 95
},
{
    "date" : "2020-09",
    "Baixo" : 15,
    "Médio" : 29,
    "Alto" : 87,
    "Critico" : 195
},
{
    "date" : "2020-10",
    "Baixo" : 11,
    "Médio" : 21,
    "Alto" : 81,
    "Critico" : 51
},
{
    "date" : "2020-11",
    "Baixo" : 1,
    "Médio" : 2,
    "Alto" : 3,
    "Critico" : 4
},
{
    "date" : "2020-12",
    "Baixo" : 15,
    "Médio" : 52,
    "Alto" : 53,
    "Critico" : 54
}];
// Create axes
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.renderer.minGridDistance = 50;
dateAxis.baseInterval = {
  "timeUnit": "month",
  "count": 1
}

// Create series
function createAxisAndSeries(field, name, opposite, bullet) {
  var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
  if(chart.yAxes.indexOf(valueAxis) != 0){
    valueAxis.syncWithAxis = chart.yAxes.getIndex(0);
  }
  
  var series = chart.series.push(new am4charts.LineSeries());
  series.dataFields.valueY = field;
  series.dataFields.dateX = "date";
  series.strokeWidth = 2;
  series.yAxis = valueAxis;
  series.name = name;
  series.tooltipText = "{name}: [bold]{valueY}[/]";
  series.tensionX = 0.8;
  series.showOnInit = true;
  
  var interfaceColors = new am4core.InterfaceColorSet();
  
  switch(bullet) {
    case "triangle":
      var bullet = series.bullets.push(new am4charts.Bullet());
      bullet.width = 12;
      bullet.height = 12;
      bullet.horizontalCenter = "middle";
      bullet.verticalCenter = "middle";
      
      var triangle = bullet.createChild(am4core.Triangle);
      triangle.stroke = interfaceColors.getFor("background");
      triangle.strokeWidth = 2;
      triangle.direction = "top";
      triangle.width = 12;
      triangle.height = 12;
      break;
    case "rectangle":
      var bullet = series.bullets.push(new am4charts.Bullet());
      bullet.width = 10;
      bullet.height = 10;
      bullet.horizontalCenter = "middle";
      bullet.verticalCenter = "middle";
      
      var rectangle = bullet.createChild(am4core.Rectangle);
      rectangle.stroke = interfaceColors.getFor("background");
      rectangle.strokeWidth = 2;
      rectangle.width = 10;
      rectangle.height = 10;
      break;
    case "pipe":
      var bullet = series.bullets.push(new am4charts.Bullet());
      bullet.width = 10;
      bullet.height = 10;
      bullet.horizontalCenter = "middle";
      bullet.verticalCenter = "middle";
      
      var rectangle = bullet.createChild(am4core.Rectangle);
      rectangle.stroke = interfaceColors.getFor("background");
      rectangle.strokeWidth = 2;
      rectangle.width = 5;
      rectangle.height = 15;
      break;
    default:
      var bullet = series.bullets.push(new am4charts.CircleBullet());
      bullet.circle.stroke = interfaceColors.getFor("background");
      bullet.circle.strokeWidth = 2;
      break;
  }
  
  valueAxis.renderer.line.strokeOpacity = 1;
  valueAxis.renderer.line.strokeWidth = 2;
  valueAxis.renderer.line.stroke = series.stroke;
  valueAxis.renderer.labels.template.fill = series.stroke;
  valueAxis.renderer.opposite = opposite;
}

createAxisAndSeries("Baixo", "Baixo", false, "circle");
createAxisAndSeries("Médio", "Médio", false, "triangle");
createAxisAndSeries("Alto", "Alto", false, "rectangle");
createAxisAndSeries("Critico", "Critico", false, "pipe");

// Add legend
chart.legend = new am4charts.Legend();

// Add cursor
chart.cursor = new am4charts.XYCursor();




}); // end am4core.ready()
.chart{
width:100%;
height:500px;
}
    <script src="https://cdn.amcharts.com/lib/4/core.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/charts.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/themes/animated.js"></script>
    <script src="https://www.amcharts.com/lib/4/lang/pt_BR.js"></script>

<div id='chart1' class='chart'>

我需要将左边的 4 个小节合并为一个小节。但是,我需要将它从 0 排序到我整个 json 中的最高值。 我查看了 amcharts 文档并尝试堆叠条形图,但它弄乱了数字顺序。

有人可以帮助我吗?

如果不需要堆叠轴,为什么不对所有系列使用相同的轴?

am4core.ready(function() {

// Themes begin
am4core.useTheme(am4themes_animated);
// Themes end

// Create chart instance
var chart = am4core.create("chart1", am4charts.XYChart);

//
chart.language.locale = am4lang_pt_BR;
chart.dateFormatter.language = new am4core.Language();
chart.dateFormatter.language.locale = am4lang_pt_BR;

// Increase contrast by taking evey second color
chart.colors.step = 2;

// Add data
chart.data = [{
    "date" : "2020-01",
    "Baixo" : 1596,
    "Médio" : 2902,
    "Alto" : 8702,
    "Critico" : 5695
},
{
    "date" : "2020-02",
    "Baixo" : 596,
    "Médio" : 902,
    "Alto" : 702,
    "Critico" : 695
},
{
    "date" : "2020-03",
    "Baixo" : 156,
    "Médio" : 292,
    "Alto" : 870,
    "Critico" : 569
},
{
    "date" : "2020-04",
    "Baixo" : 11596,
    "Médio" : 21902,
    "Alto" : 81702,
    "Critico" : 51695
},
{
    "date" : "2020-05",
    "Baixo" : 15906,
    "Médio" : 62902,
    "Alto" : 8702,
    "Critico" : 55695
},
{
    "date" : "2020-06",
    "Baixo" : 159,
    "Médio" : 290,
    "Alto" : 870,
    "Critico" : 569
},
{
    "date" : "2020-07",
    "Baixo" : 156,
    "Médio" : 292,
    "Alto" : 872,
    "Critico" : 565
},
{
    "date" : "2020-08",
    "Baixo" : 96,
    "Médio" : 02,
    "Alto" : 82,
    "Critico" : 95
},
{
    "date" : "2020-09",
    "Baixo" : 15,
    "Médio" : 29,
    "Alto" : 87,
    "Critico" : 195
},
{
    "date" : "2020-10",
    "Baixo" : 11,
    "Médio" : 21,
    "Alto" : 81,
    "Critico" : 51
},
{
    "date" : "2020-11",
    "Baixo" : 1,
    "Médio" : 2,
    "Alto" : 3,
    "Critico" : 4
},
{
    "date" : "2020-12",
    "Baixo" : 15,
    "Médio" : 52,
    "Alto" : 53,
    "Critico" : 54
}];
// Create axes
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.renderer.minGridDistance = 50;
dateAxis.baseInterval = {
  "timeUnit": "month",
  "count": 1
}

var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueAxis.renderer.line.strokeOpacity = 1;
valueAxis.renderer.line.strokeWidth = 2;

// Create series
function createSeries(field, name, bullet) {

  var series = chart.series.push(new am4charts.LineSeries());
  series.dataFields.valueY = field;
  series.dataFields.dateX = "date";
  series.strokeWidth = 2;
  series.name = name;
  series.tooltipText = "{name}: [bold]{valueY}[/]";
  series.tensionX = 0.8;
  series.showOnInit = true;
  
  var interfaceColors = new am4core.InterfaceColorSet();
  
  switch(bullet) {
    case "triangle":
      var bullet = series.bullets.push(new am4charts.Bullet());
      bullet.width = 12;
      bullet.height = 12;
      bullet.horizontalCenter = "middle";
      bullet.verticalCenter = "middle";
      
      var triangle = bullet.createChild(am4core.Triangle);
      triangle.stroke = interfaceColors.getFor("background");
      triangle.strokeWidth = 2;
      triangle.direction = "top";
      triangle.width = 12;
      triangle.height = 12;
      break;
    case "rectangle":
      var bullet = series.bullets.push(new am4charts.Bullet());
      bullet.width = 10;
      bullet.height = 10;
      bullet.horizontalCenter = "middle";
      bullet.verticalCenter = "middle";
      
      var rectangle = bullet.createChild(am4core.Rectangle);
      rectangle.stroke = interfaceColors.getFor("background");
      rectangle.strokeWidth = 2;
      rectangle.width = 10;
      rectangle.height = 10;
      break;
    case "pipe":
      var bullet = series.bullets.push(new am4charts.Bullet());
      bullet.width = 10;
      bullet.height = 10;
      bullet.horizontalCenter = "middle";
      bullet.verticalCenter = "middle";
      
      var rectangle = bullet.createChild(am4core.Rectangle);
      rectangle.stroke = interfaceColors.getFor("background");
      rectangle.strokeWidth = 2;
      rectangle.width = 5;
      rectangle.height = 15;
      break;
    default:
      var bullet = series.bullets.push(new am4charts.CircleBullet());
      bullet.circle.stroke = interfaceColors.getFor("background");
      bullet.circle.strokeWidth = 2;
      break;
  }

}

createSeries("Baixo", "Baixo", "circle");
createSeries("Médio", "Médio", "triangle");
createSeries("Alto", "Alto", "rectangle");
createSeries("Critico", "Critico", "pipe");

// Add legend
chart.legend = new am4charts.Legend();

// Add cursor
chart.cursor = new am4charts.XYCursor();




}); // end am4core.ready()
.chart{
width:100%;
height:500px;
}
    <script src="https://cdn.amcharts.com/lib/4/core.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/charts.js"></script>
    <script src="https://cdn.amcharts.com/lib/4/themes/animated.js"></script>
    <script src="https://www.amcharts.com/lib/4/lang/pt_BR.js"></script>

<div id='chart1' class='chart'>