<p>诀窍是将数据帧传递到JavaScript并将其转换为dygraph可以处理的<a href="http://dygraphs.com/data.html" rel="nofollow noreferrer">format</a>。这是我使用的代码(<a href="https://gist.github.com/danvk/e81557c88d61e34dbd75" rel="nofollow noreferrer">notebook here</a>)</p>
<pre><code>html = """
<script src="http://dygraphs.com/dygraph-combined.js"></script>
<div id="dygraph" style="width: 600px; height: 400px;"></div>
<script type="text/javascript">
function convertToDataTable(d) {
var columns = _.keys(d);
columns.splice(columns.indexOf("x"), 1);
var out = [];
for (var k in d['x']) {
var row = [d['x'][k]];
columns.forEach(function(col) {
row.push(d[col][k]);
});
out.push(row);
}
return {data:out, labels:['x'].concat(columns)};
}
function handle_output(out) {
var json = out.content.data['text/plain'];
var data = JSON.parse(eval(json));
var tabular = convertToDataTable(data);
g = new Dygraph(document.getElementById("dygraph"), tabular.data, {
legend: 'always',
labels: tabular.labels
})
}
var kernel = IPython.notebook.kernel;
var callbacks = { 'iopub' : {'output' : handle_output}};
kernel.execute("dfj", callbacks, {silent:false});
</script>
"""
HTML(html)
</code></pre>
<p>它看起来是这样的:</p>
<p><img src="https://i.stack.imgur.com/sDkDF.png" alt="chart rendered using dygraphs in an IPython notebook"/></p>
<p>这个图表是完全交互式的:你可以悬停,平移,缩放,或者以与典型动态图相同的方式进行交互。在</p>