嵌入IPython笔记本的Tableau viz

嵌入IPython笔记本的Tableau viz,ipython,jupyter-notebook,tableau-api,Ipython,Jupyter Notebook,Tableau Api,我已经发布了关于Tableau public的Tableau 9.3 viz: 通过整合Tableau public viz页面上“共享”按钮给出的代码,我成功地将此viz显示在网页中 现在我想做同样的事情,但是在IPython笔记本中。这似乎是可能的,因为我在nbviewer中看到了一个示例: 我已经将“共享”按钮脚本代码集成到一个降价单元格中,但是当单元格运行时,viz将不会显示。当我查看浏览器控制台时,js代码和对象标记似乎已被清除,即使我告诉IPython信任笔记本 有什么解决方法吗?

我已经发布了关于Tableau public的Tableau 9.3 viz:

通过整合Tableau public viz页面上“共享”按钮给出的代码,我成功地将此viz显示在网页中

现在我想做同样的事情,但是在IPython笔记本中。这似乎是可能的,因为我在nbviewer中看到了一个示例:

我已经将“共享”按钮脚本代码集成到一个降价单元格中,但是当单元格运行时,viz将不会显示。当我查看浏览器控制台时,js代码和对象标记似乎已被清除,即使我告诉IPython信任笔记本


有什么解决方法吗?

如果您想在Jupyter笔记本中显示Tableau viz,请在普通单元格中使用%%HTML魔术:

%%HTML

<div class='tableauPlaceholder' id='viz1474058356757' style='position: relative'><noscript><a href='#'><img alt=' ' src='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;ex&#47;exercice1&#47;Courbesventesetprofit&#47;1_rss.png' style='border: none' /></a></noscript><object class='tableauViz'  style='display:none;'><param name='host_url' value='https%3A%2F%2Fpublic.tableau.com%2F' /> <param name='site_root' value='' /><param name='name' value='exercice1&#47;Courbesventesetprofit' /><param name='tabs' value='yes' /><param name='toolbar' value='yes' /><param name='static_image' value='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;ex&#47;exercice1&#47;Courbesventesetprofit&#47;1.png' /> <param name='animate_transition' value='yes' /><param name='display_static_image' value='yes' /><param name='display_spinner' value='yes' /><param name='display_overlay' value='yes' /><param name='display_count' value='yes' /></object></div>                <script type='text/javascript'>                    var divElement = document.getElementById('viz1474058356757');                    var vizElement = divElement.getElementsByTagName('object')[0];                    vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';                    var scriptElement = document.createElement('script');                    scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement, vizElement);                </script>
%%%HTML
var divElement=document.getElementById('viz1474058356757');var vizElement=divElement.getElementsByTagName('object')[0];vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';var scriptElement=document.createElement('script');scriptElement.src='1〕https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement,vizElement);

这是一个很好的资源,关于你还可以用magics做什么:

基本上你需要做的就是这样

步骤1)从Tableau工作簿复制java脚本标记

步骤2)在jupyter单元格代码中添加代码,如下所示


与R和Python相比,Tableau是一种更快的数据可视化方法。我能想到的最佳实践是在tableau中创建时将大小设置为自动,在tableau Public上共享,并在发布后将嵌入代码如下所示

%%HTML
<Embed Code Here>
%%%HTML
看看这里的例子: