Amcharts指南

时间:2016-09-27 07:58:17

标签: javascript amcharts

当我将guides添加到valueAxesSettings时,即使我将valueAxesSettings选入valueAxes,它也无效。 此外,valueAxesSettingsvalueAxes之间的区别是什么,参考文献If you change a property after the chart is initialized, you should call stockChart.validateNow() method in order for it to work.?这是什么意思?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>My first stock chart</title>
<link rel="stylesheet" href="amcharts/style.css" type="text/css">

<script src="//www.amcharts.com/lib/3/amcharts.js"></script>
<script src="//www.amcharts.com/lib/3/serial.js"></script>
<script src="//www.amcharts.com/lib/3/themes/light.js"></script>
<script src="//www.amcharts.com/lib/3/amstock.js"></script>

<style>
    #chartdiv {
        width: 100%;
        height: 500px;
        font-size: 11px;
    }
</style>

<script type="text/javascript">
        AmCharts.makeChart( "chartdiv", {
            "type": "stock",
            "dataDateFormat": "YYYY-MM-DD",
            "dataSets": [ {
                "dataProvider": [ {
                    "date": "2011-06-01",
                    "val": 10
                }, {
                    "date": "2011-06-02",
                    "val": 11
                }, {
                    "date": "2011-06-03",
                    "val": 12
                }, {
                    "date": "2011-06-04",
                    "val": 11
                }, {
                    "date": "2011-06-05",
                    "val": 10
                }, {
                    "date": "2011-06-06",
                    "val": 11
                }, {
                    "date": "2011-06-07",
                    "val": 13
                }, {
                    "date": "2011-06-08",
                    "val": 14
                }, {
                    "date": "2011-06-09",
                    "val": 17
                }, {
                    "date": "2011-06-10",
                    "val": 13
                } ],
                "fieldMappings": [ {
                    "fromField": "val",
                    "toField": "value"
                } ],
                "categoryField": "date"
            } ],

            "panels": [ {

                "legend": {},

                "stockGraphs": [ {
                    "id": "graph1",
                    "valueField": "value",
                    "type": "line",
                    "title": "MyGraph",
                    "fillAlphas": 0
                } ]
            } ],

            "panelsSettings": {
                "startDuration": 1
            },

            "categoryAxesSettings": {
                "dashLength": 5
            },

            "valueAxesSettings": {
                "dashLength": 13,
                "guides": {
                    "value": 10,
                    "tovalue": 12,
                    "lineColor": "#CC0000",
                    "lineAlpha": 1,
                    "fillAlpha": 0.2,
                    "fillColor": "#CC0000",
                    "dashLength": 2,
                    "inside": true,
                }
            },

            "chartScrollbarSettings": {
                "graph": "graph1",
                "graphType": "line",
                "position": "bottom"
            },

            "chartCursorSettings": {
                "valueBalloonsEnabled": true
            },

            "periodSelector": {
                "periods": [ {
                    "period": "DD",
                    "count": 1,
                    "label": "1 day"
                }, {
                    "period": "DD",
                    "selected": true,
                    "count": 5,
                    "label": "5 days"
                }, {
                    "period": "MM",
                    "count": 1,
                    "label": "1 month"
                }, {
                    "period": "YYYY",
                    "count": 1,
                    "label": "1 year"
                }, {
                    "period": "YTD",
                    "label": "YTD"
                }, {
                    "period": "MAX",
                    "label": "MAX"
                } ]
            }
        } );
</script>
</head>
<body>
<div id="chartdiv"></div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

valueAxesvalueAxesSettings的全球版本 - 您在valueAxes中设置的所有内容都将应用于所有股票面板的valueAxes个对象。如果您想在某个面板的valueAxes中覆盖或设置特定设置,可以在面板中设置"panels": [{ "valueAxes":[{ //settings specific to this panel }], // ... }, { "valueAxes": [{ //settings specific to this panel }] }

guides

toValue属性是一个数组。您将其设置为单个对象,这是不正确的。此外,该属性称为valueAxesSettings,而不是“tovalue” - 外壳很重要。这是更正的 "valueAxesSettings": { "dashLength": 13, "guides": [{ "value": 10, "toValue": 12, "lineColor": "#CC0000", "lineAlpha": 1, "fillAlpha": 0.2, "fillColor": "#CC0000", "dashLength": 2, "inside": true }] }, 对象:

AmCharts.makeChart("chartdiv", {
  "type": "stock",
  "dataDateFormat": "YYYY-MM-DD",
  "dataSets": [{
    "dataProvider": [{
      "date": "2011-06-01",
      "val": 10
    }, {
      "date": "2011-06-02",
      "val": 11
    }, {
      "date": "2011-06-03",
      "val": 12
    }, {
      "date": "2011-06-04",
      "val": 11
    }, {
      "date": "2011-06-05",
      "val": 10
    }, {
      "date": "2011-06-06",
      "val": 11
    }, {
      "date": "2011-06-07",
      "val": 13
    }, {
      "date": "2011-06-08",
      "val": 14
    }, {
      "date": "2011-06-09",
      "val": 17
    }, {
      "date": "2011-06-10",
      "val": 13
    }],
    "fieldMappings": [{
      "fromField": "val",
      "toField": "value"
    }],
    "categoryField": "date"
  }],

  "panels": [{

    "valueAxes": [{

    }],

    "legend": {},

    "stockGraphs": [{
      "id": "graph1",
      "valueField": "value",
      "type": "line",
      "title": "MyGraph",
      "fillAlphas": 0
    }]
  }],

  "panelsSettings": {
    "startDuration": 1
  },

  "categoryAxesSettings": {
    "dashLength": 5
  },

  "valueAxesSettings": {
    "dashLength": 13,
    "guides": [{
      "value": 10,
      "toValue": 12,
      "lineColor": "#CC0000",
      "lineAlpha": 1,
      "fillAlpha": 0.2,
      "fillColor": "#CC0000",
      "dashLength": 2,
      "inside": true
    }]
  },

  "chartScrollbarSettings": {
    "graph": "graph1",
    "graphType": "line",
    "position": "bottom"
  },

  "chartCursorSettings": {
    "valueBalloonsEnabled": true
  },

  "periodSelector": {
    "periods": [{
      "period": "DD",
      "count": 1,
      "label": "1 day"
    }, {
      "period": "DD",
      "selected": true,
      "count": 5,
      "label": "5 days"
    }, {
      "period": "MM",
      "count": 1,
      "label": "1 month"
    }, {
      "period": "YYYY",
      "count": 1,
      "label": "1 year"
    }, {
      "period": "YTD",
      "label": "YTD"
    }, {
      "period": "MAX",
      "label": "MAX"
    }]
  }
});

演示:

#chartdiv {
  width: 100%;
  height: 500px;
  font-size: 11px;
}
<script src="//www.amcharts.com/lib/3/amcharts.js"></script>
<script src="//www.amcharts.com/lib/3/serial.js"></script>
<script src="//www.amcharts.com/lib/3/themes/light.js"></script>
<script src="//www.amcharts.com/lib/3/amstock.js"></script>

<div id="chartdiv"></div>
validateNow

关于validateData,如果更改了股票图表对象中的属性,则需要调用validateNow以使用新设置重绘图表。 item主要在您对dataSets / dataProvider进行更改时使用。