【问题标题】:AmCharts Legend美图传奇
【发布时间】:2015-07-28 17:43:18
【问题描述】:

我正在尝试复制以下图表

我遇到的问题是如何在每个堆叠的盒子的左侧和中间制作图例(每个盒子中的系列词)。我搜索了 amCharts 但没有运气。有没有办法做到这一点或如何覆盖或扩展 amCharts 以实现此行为?

非常感谢。

【问题讨论】:

    标签: javascript amcharts


    【解决方案1】:

    要显示值标签,请使用labelText proeprty。

    只需在图表中将其设置为“[[value]]”即可。即:

    "graphs": [{
      ...
      "labelText": "[[value]]"
    }]
    

    对于左侧的“图例”,您需要使用guides。它允许在某些预设值处放置线条(可选)和标签。不过,您需要预先计算放置它们的值。

    这是一个完整的工作示例:

    var chart = AmCharts.makeChart("chartdiv", {
      "type": "serial",
      "dataProvider": [{
        "year": 2011,
        "value1": 13,
        "value2": 5,
        "value3": 4
      }, {
        "year": 2012,
        "value1": 22,
        "value2": 4,
        "value3": 5
      }, {
        "year": 2013,
        "value1": 35,
        "value2": 7,
        "value3": 4
      }],
      "valueAxes": [{
        "stackType": "regular",
        "axisAlpha": 0,
        "gridAlpha": 0,
        "labelsEnabled": false,
        "tickLength": 0,
        "totalText": "[[total]]",
        "guides": [{
          "value": 6.5,
          "label": "Series #1",
          "fontSize": 15
        }, {
          "value": 15.5,
          "label": "Series #2",
          "fontSize": 15
        }, {
          "value": 20,
          "label": "Series #3",
          "fontSize": 15
        }]
      }],
      "graphs": [{
        "fillAlphas": 1,
        "fillColors": "#a0b1cf",
        "labelText": "[[value]]",
        "lineAlpha": 1,
        "lineColor": "#000",
        "title": "value1",
        "type": "column",
        "color": "#000000",
        "valueField": "value1"
      }, {
        "fillAlphas": 1,
        "fillColors": "#c5cde0",
        "labelText": "[[value]]",
        "lineAlpha": 1,
        "lineColor": "#000",
        "title": "value1",
        "type": "column",
        "color": "#000000",
        "valueField": "value2"
      }, {
        "fillAlphas": 1,
        "fillColors": "#dde6eb",
        "labelText": "[[value]]",
        "lineAlpha": 1,
        "lineColor": "#000",
        "title": "value1",
        "type": "column",
        "color": "#000000",
        "valueField": "value3"
      }],
      "categoryField": "year",
      "categoryAxis": {
        "gridPosition": "start",
        "axisAlpha": 0,
        "gridAlpha": 0,
        "position": "left"
      }
    
    });
    #chartdiv {
      width: 400px;
      height: 400px;
    }
    <script src="http://www.amcharts.com/lib/3/amcharts.js"></script>
    <script src="http://www.amcharts.com/lib/3/serial.js"></script>
    <div id="chartdiv"></div>

    【讨论】:

    • 它工作正常!如果我需要将指南移到右侧怎么办(所以在 2013 酒吧旁边)?
    • 有效!多谢!好吧,如果您有时间并且可能知道,我添加了趋势线来复制虚线(指向箭头的那条线)。我的问题是趋势线从类别(2012)的中间开始,在目标类别(2013)的中间结束。是否有一个简单的工作可以解决如何让它在 2012 年末开始并在 2013 年开始时结束?
    猜你喜欢
    • 2018-07-21
    • 2018-03-10
    • 1970-01-01
    • 2013-08-28
    • 2013-06-07
    • 1970-01-01
    • 2018-09-08
    • 2020-07-29
    • 2019-09-26
    相关资源
    最近更新 更多