JSXGraph:如何隐藏网格而不隐藏轴标签和刻度线?

时间:2018-08-29 01:54:45

标签: javascript jsxgraph

默认情况下,JSXGraph的板在背景中渲染时带有网格。当我使用选项axis: false实例化它时,网格消失了,但是轴标签和刻度也消失了。

使用JXG进行处理。像这样的选项似乎什么也没做:

JXG.Options.grid.strokeColor = '#ff0000';
JXG.Options.grid.strokeOpacity = 0;

here指出,grid板选件实际上并未关闭网格,只是使其在缩放时的行为有所不同。

基本上,使像这样的板关闭轴刻度线和Y轴的网格:

var board = JXG.JSXGraph.initBoard(id, {
  axis: true,
  defaultAxes: {
    y: { ticks: { visible: false } }
  }
});

visible更改为true可使网格和刻度线可见。

如何仅关闭背景网格,而保持轴标签完整?

1 个答案:

答案 0 :(得分:1)

好的,我通过查看jsxgraph中的options.js来解决这个问题。主网格实际上称为“刻度”,与轴线上的刻度密切相关。实际上,它是用我猜到的同一段代码绘制的。刻度线有minorHeightmajorHeight,指的是轴线上的刻度线或整个背景上的刻度线。 minorHeight的默认值为10,而majorHeight的值为-1,这是一种特殊情况,即在整张牌上进行抽奖。解决方案是更改majorHeight,使其绘制成较小的刻度,为清晰起见,略有不同:

var board = JXG.JSXGraph.initBoard(id, {
  axis: true,
  defaultAxes: {
    y: { ticks: { visible: true, majorHeight: 5 } }
  }
});