JSXGraph: Как скрыть сетку, не скрывая метки осей и отметки? - PullRequest
0 голосов
/ 29 августа 2018

По умолчанию доска JSXGraph визуализируется с сеткой на заднем плане. Когда я создаю его экземпляр с параметром axis: false, сетка исчезает, но помечаются метки и метки осей.

Возиться с JXG. Подобные варианты, похоже, ничего не делают:

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

Опция grid на самом деле не отключает сетку, она просто ведет себя по-разному при увеличении, отметил здесь .

По сути, создание такой доски отключает тики оси и сетку для оси Y:

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

А изменение visible на true делает сетку и галочки видимыми.

Как отключить только фоновую сетку, оставив метки осей нетронутыми?

1 Ответ

0 голосов
/ 29 августа 2018

Хорошо, я понял это, посмотрев на options.js в jsxgraph. Основная сетка фактически называется «галочками», тесно связанными с галочками на линии оси. На самом деле, он нарисован с тем же фрагментом кода, который я предполагаю. Для тиков есть minorHeight и majorHeight, относящиеся либо к тикам на линии оси, либо к тикам на всем фоне. minorHeight равно 10 по умолчанию, а majorHeight равно -1, особый случай, который означает рисование на всей доске. Решение состоит в том, чтобы изменить majorHeight так, чтобы он рисовался как второстепенные тики, просто для ясности немного по-другому:

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