bizcharts:通过 scale 中 tickCount 设置纵坐标的刻度个数时,有时会不生效,请问该如何解决?

发布于 2022-09-13 01:07:37 字数 1445 浏览 19 评论 0

我设置 tickCount 刻度数为5。下图中,有一个值为 8001,然后纵轴的刻度数就变为了 6 个了。
image.png

源码如下:

import React from "react";
import {
  G2,
  Chart,
  Geom,
  Axis,
  Tooltip,
  Coord,
  Label,
  Legend,
  View,
  Guide,
  Shape,
  Facet,
  Util
} from "bizcharts@3.5.9";

class Basiccolumn extends React.Component {
  render() {
    const data = [
      {
        year: "1951 年",
        sales: 38
      },
      {
        year: "1952 年",
        sales: 52
      },
      {
        year: "1956 年",
        sales: 61
      },
      {
        year: "1957 年",
        sales: 8001
      },
      {
        year: "1958 年",
        sales: 48
      },
      {
        year: "1959 年",
        sales: 38
      },
      {
        year: "1960 年",
        sales: 38
      },
      {
        year: "1962 年",
        sales: 38
      }
    ];
const scale = {
  sales:{
    type:"linear",
    tickCount:5,
  },
}

    return (
      <div style={{width:"800px",height:"500px"}}>
            
        <Chart height={500}  data={data} forceFit padding={[20,40,40,47]} scale={scale}>
          <Axis name="sales" grid={{type:"line"}} />
          <Tooltip/>
          <Geom type="interval" position="year*sales" />
        </Chart>            
            

      </div>
    );
  }
}

ReactDOM.render(<Basiccolumn />, mountNode)

请问这该如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无声情话 2022-09-20 01:07:37

tickCount不好使的。计算出数据的最大值,然后根据最大值计算出一个数组。将数组赋值给scale中的ticks,ticks接收一个数组用于指定坐标轴上的刻度点。比如需求是要6个刻度点,而计算出的最大值是500.那么就可以把数组[0,100,200,300,400,500]赋值给ticks.有点麻烦,但能实现需求

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文