1

默认情况下,JSXGraph 的板在背景中使用网格呈现。当我使用 option 实例化它时axis: false,网格会消失,但轴标签和刻度线也会消失。

像这样弄乱 JXG.Options 似乎没有任何作用:

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

board 选项实际上并grid没有关闭网格,只是使它在缩放时表现不同,注意这里

基本上,制作这样的板会关闭轴刻度和 Y 轴的网格:

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

并更改visibletrue使网格和刻度可见。

如何只关闭背景网格,保持轴标签完好无损?

4

1 回答 1

2

好吧,我通过查看options.jsjsxgraph 发现了这一点。主网格实际上称为“刻度”,与轴线上的刻度密切相关。事实上,它是用我猜测的同一段代码绘制的。有minorHeightmajorHeight用于刻度线,指的是轴线上的刻度线或整个背景上的刻度线。minorHeight默认为 10,majorHeight为 -1,表示在整个棋盘上绘制的特殊情况。解决方案是进行更改majorHeight,使其像次要刻度一样绘制,只是为了清楚起见略有不同:

var board = JXG.JSXGraph.initBoard(id, {
  axis: true,
  defaultAxes: {
    y: { ticks: { visible: true, majorHeight: 5 } }
  }
});
于 2018-08-29T02:33:12.320 回答