【问题标题】:How do I control the scales shown on the axes?如何控制轴上显示的比例?
【发布时间】:2021-07-19 23:58:10
【问题描述】:

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

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

【问题讨论】:

    标签: jsxgraph


    【解决方案1】:

    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, 
                }
            }
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 2013-07-25
      • 1970-01-01
      相关资源
      最近更新 更多