这是使用charts_flutter开发Flutter的问题。是否有一个参数可将最大值固定在测量轴上?我目前正在将desiredTickCount用作hack,但理想情况下,我只希望3个代码(0、5、10)在量度轴上的范围为0-10。

Code snippet:
  Widget _createChart() {
        return new charts.BarChart(
          _createSampleData(),
          animate: true,
          vertical: false,


          primaryMeasureAxis: new charts.NumericAxisSpec(
            tickProviderSpec: new charts.BasicNumericTickProviderSpec(
              desiredTickCount: 11,
            ),
          ),
          barRendererDecorator: new charts.BarLabelDecorator(),
          // Hide domain axis.
          domainAxis:
              new charts.OrdinalAxisSpec(renderSpec: new charts.NoneRenderSpec()),
        );
      }

      static List<charts.Series<OrdinalSales, String>> _createSampleData() {
        final data = [
          new OrdinalSales('Liver', 8),
          new OrdinalSales('Heart', 4),
          new OrdinalSales('Spleen', 5),
          new OrdinalSales('Lung', 1),
          new OrdinalSales('Kidney', 2),
        ];

        return [
          new charts.Series<OrdinalSales, String>(
            id: 'Sales',
            domainFn: (OrdinalSales sales, _) => sales.year,
            measureFn: (OrdinalSales sales, _) => sales.sales,
            data: data,
            // Set a label accessor to control the text of the bar label.
            labelAccessorFn: (OrdinalSales sales, _) => '${sales.year}',
          ),
        ];
      }
    }

    class OrdinalSales {
      final String year;
      final int sales;

      OrdinalSales(this.year, this.sales);
    }

最佳答案

如果您真的只想要0、5和10,请尝试使用StaticNumericTickProviderSpec

    primaryMeasureAxis: new charts.NumericAxisSpec(
      tickProviderSpec: new charts.StaticNumericTickProviderSpec(
        <charts.TickSpec<num>>[
          charts.TickSpec<num>(0),
          charts.TickSpec<num>(5),
          charts.TickSpec<num>(10),
        ],
      ),
    ),

关于charts - 在主要测量轴上设置最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52074807/

10-12 12:40