【问题标题】:Value axis labels are not displayed不显示数值轴标签
【发布时间】:2019-03-25 08:33:57
【问题描述】:

我的图表有问题。由于某种原因,值轴标签不显示。这是示例:https://jsfiddle.net/stj7yzgd/1/

其实可以通过添加来显示:

"panelsSettings": {
    "marginLeft": 40,
}

或通过将显示选项设置为:

"valueAxesSettings": {
    "inside": false
}

添加静态边距对我来说似乎不是一个好的解决方案,因为它不适用于每个数字。如果值轴标签将是一个巨大的数字,那么它的标签将被裁剪。

另外,我不想在图表中显示标签,因为它看起来不太好。

有没有更好的解决方案来显示它?

【问题讨论】:

    标签: amcharts


    【解决方案1】:

    您可以在panelsSettings 中将autoMargins 设置为true,以使其自动调整面板大小;它没有记录在案,但几乎每个 StockPanel 级别的设置都可以在 panelSettings 中设置,不幸的是,在 Settings 对象中没有指出这是关闭的。

    panelsSettings: {
      // ...
      autoMargins: true,
      // ...
    }
    

    下面的演示:

    var chart;
    
    function generateChart(dataProvider) {
      chart = AmCharts.makeChart("chartdiv", {
        "type": "stock",
        "dataSets": [{
          "fieldMappings": [{
            "fromField": "visits",
            "toField": "visits"
          }],
          "categoryField": "date",
          "dataProvider": dataProvider,
        }],
        "categoryAxesSettings": {
          "alwaysGroup": true,
          "groupToPeriods": ["hh"],
        },
        "panels": [{
          "stockGraphs": [{
            "type": "column",
            "valueField": "visits",
            "periodValue": "Sum",
          }]
        }],
        "valueAxesSettings": {
          "inside": false,
          "minimum": 0,
        },
        "panelsSettings": {
          "autoMargins": true
        }
      });
    }
    
    function generateChartData() {
      var chartData = [];
      var firstDate = new Date();
      firstDate.setDate(firstDate.getDate() - 5);
    
      for (var i = 0; i < 15; i++) {
        var newDate = new Date(firstDate);
        newDate.setHours(newDate.getHours() + i);
    
        chartData.push({
          "date": newDate,
          "visits": Math.floor(Math.random() * 100) + 1
        });
      }
    
      return chartData;
    }
    
    generateChart(generateChartData());
    #chartdiv {
      width: 100%;
      height: 500px;
    }
    <div id="chartdiv"> </div>
    
    <script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
    <script src="https://www.amcharts.com/lib/3/serial.js"></script>
    <script src="https://www.amcharts.com/lib/3/amstock.js"></script>
    <link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多