plotly.js: скрыть вспомогательные линии для выбранной трассы - PullRequest
0 голосов
/ 11 октября 2019

Я создаю график с plotly.js, который содержит маркеры и линии. Я хочу отключить функцию наведения и всплеска (вспомогательные линии) для линий, но не для маркеров.

Мне нужно показать оба графика на одной оси, как в следующем примере:

var traces = [];
traces.push({
  type: 'scatter3d',
  mode: 'markers',
  x: [0, 1],
  y: [0, 1],
  z: [0, 1],
});

traces.push({
  type: 'scatter3d',
  mode: 'lines',
  hoverinfo: 'none',
  x: [1, 0],
  y: [0, 1],
  z: [0, 1]
});
Plotly.newPlot('myDiv', traces, []);
<html>

<head>
  <!-- Plotly.js -->
  <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>

<body>
  <!-- Plotly chart will be drawn inside this DIV -->
  <div id="myDiv"></div>
</body>

</html>

В приведенном выше примере показаны вспомогательные линии, когда вы наводите курсор мыши на конец строки. Я обнаружил, что есть способ скрыть вспомогательные линии, создав вторую сцену, где showspikes: false, но затем они отображаются по разным осям:

var traces = [];
traces.push({
  type: 'scatter3d',
  mode: 'markers',
  x: [0, 1],
  y: [0, 1],
  z: [0, 1],
});

traces.push({
  type: 'scatter3d',
  mode: 'lines',
  hoverinfo: 'none',
  scene: 'scene2',
  x: [1, 0],
  y: [0, 1],
  z: [0, 1]
});

layout = {
  scene2: {
    xaxis: {
      showspikes: false
    },
    yaxis: {
      showspikes: false
    },
    zaxis: {
      showspikes: false
    }
  }
};
Plotly.newPlot('myDiv', traces, layout);
<html>

<head>
  <!-- Plotly.js -->
  <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>

<body>
  <!-- Plotly chart will be drawn inside this DIV -->
  <div id="myDiv"></div>
</body>

</html>

Есть ли способ скрыть вспомогательные линии (я не уверен, что это правильное выражение) только для линейного графика без создания вторых осей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...