Javascript 如何在图表上取消堆叠直线系列:AMCharts3

Javascript 如何在图表上取消堆叠直线系列:AMCharts3,javascript,amcharts,Javascript,Amcharts,所以在我的图表上,我有条线和条线,我希望条线系列像下图一样堆叠,但我不希望线系列被堆叠。 在示例图像中,前3个点的顶线系列值为100000,但它位于150000,而底线系列值为50000,位于50000,因此我认为它们正在叠加,我不希望发生这种情况 我希望图表看起来完全一样,但是让线系列位于yAxis上的正确值 let {dataProvider, displayCurrency} = this.props; var config = { "type":"serial"

所以在我的图表上,我有条线和条线,我希望条线系列像下图一样堆叠,但我不希望线系列被堆叠。

在示例图像中,前3个点的顶线系列值为100000,但它位于150000,而底线系列值为50000,位于50000,因此我认为它们正在叠加,我不希望发生这种情况

我希望图表看起来完全一样,但是让线系列位于yAxis上的正确值

let {dataProvider, displayCurrency} = this.props;
    var config = {
        "type":"serial",
        "categoryField":"category",
        "fontFamily":"arial",
        "categoryAxis":{
            "gridPosition":"start",
            "title":"Time",
            "titleRotation":0
        },
        "trendLines":[],
        "graphs":[
            {
                "balloonText": "[[title]] of [[category]]:[[value]]",
                "balloonFunction" : formatGraphMoneyBallon("Hedging"),
                "balloonColor": "#000066",
                "fillColors": "#000066",
                "lineColor": "#000066",
                "fillAlphas": 1,
                "id": "coverUpper",
                "title": "Hedging",
                "newStack": false,
                "type": "column",
                "valueField": "hedging"
            },
            {
                "balloonText": "[[title]] of [[category]]:[[value]]",
                "balloonFunction" : formatGraphMoneyBallon("Maximum Additional Hedging"),
                "balloonColor": "#000066",
                "fillColors": "#000066",
                "lineColor": "#000066",
                "fillAlphas": 1,
                "id": "coverAdditional",
                "title": "Maximum Additional Hedging",
                "type": "column",
                "newStack": false,
                "valueField": "maxAdditionalHedging",
                "pattern": {
                    "url": "https://www.amcharts.com/lib/3/patterns/black/pattern5.png",
                    "width": 4,
                    "height": 4
                      }
            }, {
                "balloonText": "[[title]] of [[category]]:[[value]]",
                "balloonFunction" : formatGraphMoneyBallon("Forecasted Cashflows"),
                "fillAlphas": 1,
                "balloonColor": "#B0DE09",
                "fillColors": "#B0DE09",
                "lineColor": "#B0DE09",
                "id": "cfGraph",
                "title": "Forecasted Cashflows",
                "type": "column",
                "newStack": true,
                "valueField": "exposure"
            }, {
                "balloonText": "[[title]] of [[category]]:[[value]]",
                "balloonFunction" : formatGraphMoneyBallon("Policy Minimum"),
                "bullet": "triangleUp",
                "balloonColor": "#014310",
                "fillColors": "#014310",
                "lineColor": "#014310",
                "bulletAlpha": 0.6,
                "dashLength": 7,
                "id": "polMin",
                "valueAxis": "dollarAxis",
                "newStack": true,
                "title": "Policy Minimum",
                "valueField": "minHedge"
            }, {
                "balloonText": "[[title]] of [[category]]:[[value]]",
                "balloonFunction" : formatGraphMoneyBallon("Policy Maximum"),
                "bullet": "triangleDown",
                "type": "line",
                "balloonColor": "#014310",
                "fillColors": "#014310",
                "lineColor": "#014310",
                "bulletAlpha": 0.6,
                "dashLength": 7,
                "newStack": true,
                "id": "polMax",
                "valueAxis": "dollarAxis",
                "title": "Policy Maximum",
                "valueField": "maxHedge"
            }
        ],
        "guides":[],
        "valueAxes":[
            {"id":"dollarAxis","stackType":"regular","title":"Amount " + displayCurrency}
        ],
        "allLabels":[],
        "balloon":{},
        "legend":{
            "enabled":true,
            "useGraphSettings":true,
            "spacing": 0,
            "valueWidth":15
        },
        "export":{"enabled":true},
        "dataProvider":dataProvider
    }

堆叠通过轴完成。如果不希望行堆叠,请将它们放置在未设置
stackType
的单独值轴中,并通过
valueAxis
属性将图形链接到值轴id。您还需要考虑禁用行的值轴的标签、网格和同步MI/MAX:

graphs:[{
  type: "line",
  // ...
  valueAxis: "dollarAxis-line"
 },
  // ...
],
valueAxes: [
  {
    "id": "dollarAxis",
    "includeHidden": true,
     // ...
  },
  {
    "id": "dollarAxis-line",
    "labelsEnabled": false,
    "gridAlpha": 0,
    "axisAlpha": 0,
  }
],
"listeners": [{
  "event": "init",
  "method": function(e) {
    // sync axes
    e.chart.valueAxes[0].maximum = Math.max(e.chart.valueAxes[0].max, e.chart.valueAxes[1].max);
    e.chart.valueAxes[0].minimum = Math.min(e.chart.valueAxes[0].min, e.chart.valueAxes[1].min);
    e.chart.valueAxes[1].maximum = Math.max(e.chart.valueAxes[0].max, e.chart.valueAxes[1].max);
    e.chart.valueAxes[1].minimum = Math.min(e.chart.valueAxes[0].min, e.chart.valueAxes[1].min);
    e.chart.validateData();

  }
}]
编辑: 如果您从一个空的图表开始,您可能需要考虑使用<代码> DATAUPDATE> 事件,以便在更新数据提供程序之后它将重新同步轴。
validateData
方法触发此事件,因此您需要将此调用包装在一个条件中,该条件检查标志,以便图表不会无限次地调用此方法

  "listeners": [{
    "event": "dataUpdated",
    "method": function(e) {
      setTimeout(function() {
        if (!e.chart.updating) {
          e.chart.updating = true;
          // sync axes
          e.chart.valueAxes[0].maximum = undefined;
          e.chart.valueAxes[0].minimum = undefined;
          e.chart.valueAxes[1].maximum = undefined;
          e.chart.valueAxes[1].minimum = undefined;
          e.chart.validateData();
          e.chart.valueAxes[1].maximum = e.chart.valueAxes[0].maximum = Math.max(e.chart.valueAxes[0].max, e.chart.valueAxes[1].max);
          e.chart.valueAxes[1].minimum = e.chart.valueAxes[0].minimum = Math.min(e.chart.valueAxes[0].min, e.chart.valueAxes[1].mix);
          e.chart.validateData();
          e.chart.updating = false;
        }
      }, 100);
    }
  }]
演示如下:

var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“串行”,
“类别字段”:“类别”,
“fontFamily”:“arial”,
“分类法”:{
“网格位置”:“开始”,
“标题”:“时间”,
“标题旋转”:0
},
“趋势线”:[],
“图表”:[{
“文本”:“[[类别]]:[[价值]]中的[[标题]]”,
“气球颜色”:“#000066”,
“填充颜色”:“#000066”,
“线条颜色”:“#000066”,
“填充字母”:1,
“id”:“coverUpper”,
“标题”:“对冲”,
“newStack”:错误,
“类型”:“列”,
“valueField”:“套期保值”
},
{
“文本”:“[[类别]]:[[价值]]中的[[标题]]”,
“气球颜色”:“#000066”,
“填充颜色”:“#000066”,
“线条颜色”:“#000066”,
“填充字母”:1,
“id”:“覆盖范围附加”,
“标题”:“最大额外套期保值”,
“类型”:“列”,
“newStack”:错误,
“valueField”:“MaxAdditionalHedgeting”,
“模式”:{
“url”:”https://www.amcharts.com/lib/3/patterns/black/pattern5.png",
“宽度”:4,
“高度”:4
}
}, {
“文本”:“[[类别]]:[[价值]]中的[[标题]]”,
“填充字母”:1,
“气球颜色”:“B0DE09”,
“填充颜色”:“#B0DE09”,
“lineColor”:“B0DE09”,
“id”:“cfGraph”,
“标题”:“预测现金流”,
“类型”:“列”,
“newStack”:没错,
“valueField”:“风险敞口”
}, {
“文本”:“[[类别]]:[[价值]]中的[[标题]]”,
“bullet”:“triangleUp”,
“气球颜色”:“014310”,
“填充颜色”:“014310”,
“线条颜色”:“014310”,
“bulletAlpha”:0.6,
“dashLength”:7,
“id”:“polMin”,
“valueAxis”:“多拉轴线”,
“标题”:“保单最低限额”,
“valueField”:“minHedge”
}, {
“文本”:“[[类别]]:[[价值]]中的[[标题]]”,
“bullet”:“triangleDown”,
“类型”:“行”,
“气球颜色”:“014310”,
“填充颜色”:“014310”,
“线条颜色”:“014310”,
“bulletAlpha”:0.6,
“dashLength”:7,
“id”:“polMax”,
“valueAxis”:“多拉轴线”,
“标题”:“保单最高限额”,
“valueField”:“maxHedge”
}
],
“指南”:[],
“价值轴”:[{
“id”:“dollarAxis”,
“stackType”:“常规”,
“includeHidden”:正确,
“标题”:“金额($)”
},
{
“id”:“多拉轴线”,
“stackType”:“无”,
“labelsEnabled”:错误,
“gridAlpha”:0,
“axisAlpha”:0
}
],
“所有标签”:[],
“气球”:{},
“传奇”:{
“启用”:正确,
“useGraphSettings”:正确,
“间距”:0,
“valueWidth”:15
},
“出口”:{
“已启用”:真
},
“数据提供者”:[{
“类别”:“类别1”,
“minHedge”:151218,
“对冲”:111436,
“maxHedge”:236849,
“MaxAdditionalHedgeting”:272065,
“额外对冲”:233236,
“曝光”:163731
},
{
“类别”:“类别2”,
“minHedge”:150517,
“对冲”:137299,
“maxHedge”:258805,
“MaxAdditionalHedgeting”:254932,
“额外对冲”:183495,
“曝光”:111847
},
{
“类别”:“类别3”,
“minHedge”:158456,
“对冲”:198219,
“maxHedge”:231274,
“MaxAdditionalHedgeting”:259615,
“额外对冲”:187108,
“曝光”:168738
},
{
“类别”:“类别4”,
“minHedge”:167931,
“对冲”:173121,
“maxHedge”:263334,
“MaxAdditionalHedgeting”:260449,
“额外对冲”:229972,
“曝光”:156174
},
{
“类别”:“类别5”,
“minHedge”:164449,
“对冲”:157823,
“maxHedge”:268980,
“MaxAdditionalHedgeting”:268896,
“额外对冲”:180031,
“曝光”:100893
},
{
“类别”:“第6类”,
“minHedge”:166465,
“对冲”:128504,
“maxHedge”:241036,
“MaxAdditionalHedgeting”:269858,
“额外对冲”:230233,
“曝光”:117158
},
{
“类别”:“类别7”,
“minHedge”:167117,
“对冲”:110649,
“maxHedge”:229749,
“MaxAdditionalHedgeting”:262671,
“额外对冲”:201500,
“曝光”:188282
},
{
“类别”:“第8类”,
“minHedge”:151167,
“对冲”:123489,
“maxHedge”:249919,
“MaxAdditionalHedgeting”:268805,
“额外对冲”:206302,
“曝光”:120797
},
{
“类别”:“类别9”,
“minHedge”:154961,
“对冲”:185898,
“maxHedge”:269185,
“MaxAdditionalHedgeting”:271949,
“额外对冲”:173116,
“曝光”:184312
},
{
"