如何控制轴上显示的刻度?

How do I control the scales shown on the axes?

我希望 y 轴显示 2、4、6、8、... 16,每个值都有网格线(中间没有刻度线或网格线)。 是否有一些选项可以控制显示和标记网格线的轴值?

我找到了一个丑陋的解决方法:通过将边界框 [-1, 8, 6, -1] 设为 scale:0.5 作为 y-轴刻度,板高 400 像素,我看到了我想要的。然而,绘制一个点并没有考虑缩放比例:例如(1,4) 在信息框中显示为 (1,2)。另外,如果我增加板的高度,例如到 500 像素,y 轴和网格线变为 1、2、3、4、...、16,所以我的解决方法不是处理潜在的问题,它只是欺骗系统显示我想要的看过。

InsertTicks 需要为 false 才能使 ticksDistance 起作用

如果你想全局设置它,取消前三行的注释并将它们放在任何 initBoard

之前的某个地方
/* JXG.Options.axis.ticks.insertTicks = false; */
/* JXG.Options.axis.ticks.ticksDistance = 2; */
/* JXG.Options.axis.ticks.minorHeight = 0; */

const board = JXG.JSXGraph.initBoard('jxgbox', { 
    boundingbox: [-10, 10, 10, -10], 
    axis:{
        ticks:{
            insertTicks:false, 
            ticksDistance: 2,
            minorHeight: 0, 
        }
    }
});

并且仅设置为 y 轴:

const board = JXG.JSXGraph.initBoard('jxgbox', { 
    boundingbox: [-10, 10, 10, -10], 
    axis:true,
    defaultAxes:{
        y:{
            ticks:{
                insertTicks:false, 
                ticksDistance: 2,
                minorHeight: 0, 
            }
        }
    }
});