想要将y轴的刻度设置为固定值Highcharts。

问题描述 投票:0回答:1

我正在尝试基于数据点的线型图和面积图的组合。

在图1中,Y轴看起来很笨拙,有很多刻度。是否有一种方法,可以设置这些ticks可能是 "3 "在Y轴上。这应该保持恒定的任何数据点,蜱应该总是3。

另外在图2中,多了一条横线,在0以下,有没有什么办法可以避免,让参照物总是从0开始,而不是在0以下有线条。

沙盒链接。https:/codesandbox.iosreact-line-chart-n9g6o?file=srcLineChart.js。

import * as React from "react";
import Highcharts from "highcharts";
import HighchartsReact from "highcharts-react-official";
import HC_exporting from "highcharts/modules/exporting";
HC_exporting(Highcharts);

function LineChart(props) {
  let chartOptions = {
    chart: {
      type: "line",
      height: props.height
    },
    legend: {
      align: "center",
      verticalAlign: "bottom",
      x: 0,
      y: 0
    },
    tooltip: {
      shared: true,
      useHTML: true,
      formatter: function() {
        let self = this;
        let formattedString = "<small></small><table>";
        self.points.forEach(elem => {
          formattedString +=
            '<tr><td style="color: {series.color}">' +
            elem.series.name +
            ": </td>";
          formattedString +=
            '<td style="text-align: right"><b>' +
            elem.y +
            " (" +
            elem.point.ts +
            ")</b></td></tr>";
        });
        return formattedString;
      }
    },
    colors: props.legendColor,
    xAxis: {
      visible: true,
      step: 1,
      tickInterval: 6,
      categories: props.categories
    },
    yAxis: {
      visible: true,
      step: 1,
      tickInterval: 1,
      title: {
        enabled: true,
        text: "Value",
        style: {
          fontWeight: "100"
        }
      }
    },
    plotOptions: {
      column: {
        dataLabels: {
          enabled: true,
          crop: false,
          overflow: "none"
        }
      },
      line: {
        marker: {
          enabled: false
        }
      }
    },
    series: props.chartData
  };
  return <HighchartsReact highcharts={Highcharts} options={chartOptions} />;
}

export default LineChart;

javascript reactjs highcharts highcharts-ng react-highcharts
1个回答
1
投票

在图1中,Y轴看起来很笨拙,有很多ticks。有没有一种方法,可以将这些ticks设置为可能是 "3 "在y轴上。这应该保持任何数据点的恒定,ticks应该总是3

使用 tickAmount 属性。

yAxis: {
  tickAmount: 3,
  ..
}

API参考。 https:/api.highcharts.comhighchartsyAxis.tickAmount。


另外,在图2中,有一条额外的水平线,低于0.有什么办法可以避免它,使参考总是从0开始,而不是有低于0的线。

是的,你可以例如设置 softMax 属性。如果只有0个值,Highcharts无法计算轴的刻度。

yAxis: {
  softMax: 1,
  ...
}

API参考。 https:/api.highcharts.comhighchartsyAxis.softMax。

© www.soinside.com 2019 - 2024. All rights reserved.