【问题标题】:Tableau viz embedded in IPython notebook嵌入在 IPython 笔记本中的 Tableau 可视化
【发布时间】:2016-04-15 10:59:47
【问题描述】:

我在 Tableau public 上发布了一个 Tableau 9.3 可视化: https://public.tableau.com/profile/michel.page#!/vizhome/exercice1/Courbesventesetprofit

通过集成 Tableau 公共可视化页面上“共享”按钮提供的代码,我已成功将此可视化显示在网页中。

现在我想做同样的事情,但在 IPython 笔记本中。这似乎是可能的,因为我在这里在 nbviewer 中看到了一个示例:http://nbviewer.jupyter.org/gist/msund/96bd1d837f4139b2558d

我已将“共享”按钮脚本代码集成到 Markdown 单元格中,但该单元格运行时不会显示可视化项。当我查看浏览器控制台时,似乎 js 代码和对象标记已被清理,即使我告诉 IPython 信任笔记本。

有什么解决办法吗?

【问题讨论】:

    标签: ipython jupyter-notebook tableau-api


    【解决方案1】:

    如果您希望 Tableau 可视化项显示在您的 Jupyter 笔记本中,请在普通单元格中使用 %%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>
    

    这是一个很好的资源,你可以用魔法做些什么:https://blog.dominodatalab.com/lesser-known-ways-of-using-notebooks/

    【讨论】:

      【解决方案2】:

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

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

      第 2 步)在您的 jupyter 单元代码中添加代码,如下所示

      【讨论】:

        【解决方案3】:

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

        %%HTML
        <Embed Code Here>
        

        在此处查看示例: https://www.kaggle.com/andyxie/tableau-sharing-best-practice/

        【讨论】:

          猜你喜欢
          • 2019-03-28
          • 1970-01-01
          • 1970-01-01
          • 2014-11-21
          • 2018-09-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多