Мне нужно получать события кликов в Plotly (офлайн) в Jupyter.
Я думаю об этом, используя javascript и следующую команду для возврата значений в python:
var kernel = IPython.notebook.kernel;
kernel.execute(command);
... где команда будет выглядеть примерно так: variable = xxxxx
(точно так же, как здесь )
Я застрял в начале своей попытки, пытаясь построить диаграмму в HTML на python (заметьте, что я могу успешно загрузить jQuery таким образом):
from IPython.display import HTML
HTML('''
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
<h3>Gráfico</h3>
<hr>
<div id="myDiv"></div>
<script>
var trace1 = {
x: [1, 2, 3, 4],
y: [10, 15, 13, 17],
mode: 'markers'
};
var trace2 = {
x: [2, 3, 4, 5],
y: [16, 5, 11, 10],
mode: 'lines'
};
var trace3 = {
x: [1, 2, 3, 4],
y: [12, 9, 15, 12],
mode: 'lines+markers'
};
var data = [ trace1, trace2, trace3 ];
var layout = {};
Plotly.newPlot('myDiv', data, layout);
</script>
</body>
</html>
''')
Сообщение об ошибке:
ReferenceError: График не определен
at eval (eval at globalEval (jquery.min.js: 2),: 21: 17)
в eval ()
в Function.globalEval (jquery.min.js: 2)
в ua (jquery.min.js: 3)
на n.fn.init.append (jquery.min.js: 3)
в OutputArea._safe_append (outputarea.js: 456)
в OutputArea.append_execute_result (outputarea.js: 493)
в OutputArea.append_output (outputarea.js: 326)
в OutputArea.handle_output (outputarea.js: 257)
на выходе (codecell.js: 382)