libraries_support.rst 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. 第三方库生态
  2. ==============
  3. .. _visualization:
  4. 数据可视化
  5. -------------
  6. PyWebIO支持使用第三方库进行数据可视化
  7. Bokeh
  8. ^^^^^^^^^^^^^^^^^^^^^^
  9. `Bokeh <https://github.com/bokeh/bokeh>`_ 是一个支持创建实时交互的数据可视化库。
  10. 在 PyWebIO 会话中调用 ``bokeh.io.output_notebook(notebook_type='pywebio')`` 来设置Bokeh输出到PyWebIO::
  11. from bokeh.io import output_notebook
  12. from bokeh.io import show
  13. output_notebook(notebook_type='pywebio')
  14. fig = figure(...)
  15. ...
  16. show(fig)
  17. 相应demo见 :charts_demo_host:`bokeh demo </?app=bokeh>`
  18. 除了创建普通图表,Bokeh还可以通过启动Bokeh server来显示Bokeh app,Bokeh app支持向图表的添加按钮、输入框等交互组件,并向组件注册Python回调,从而创建可以与Python代码交互的图表。
  19. 在PyWebIO中,你也可以使用 ``bokeh.io.show()`` 来显示一个Bokeh App,代码示例见 `bokeh_app.py <https://github.com/wang0618/PyWebIO/blob/master/demos/bokeh_app.py>`_。
  20. .. image:: https://cdn.jsdelivr.net/gh/wang0618/pywebio-chart-gallery@master/assets/bokeh.png
  21. pyecharts
  22. ^^^^^^^^^^^^^^^^^^^^^^
  23. `pyecharts <https://github.com/pyecharts/pyecharts>`_ 是一个使用Python创建 `Echarts <https://github.com/ecomfe/echarts>`_ 可视化图表的库。
  24. 在 PyWebIO 中使用 `put_html() <pywebio.output.put_html>` 可以输出 pyecharts 库创建的图表::
  25. # chart 为 pyecharts 的图表实例
  26. pywebio.output.put_html(chart.render_notebook())
  27. 相应demo见 :charts_demo_host:`pyecharts demo </?app=pyecharts>`
  28. .. only:: not latex
  29. .. image:: https://cdn.jsdelivr.net/gh/wang0618/pywebio-chart-gallery@master/assets/pyecharts.gif
  30. plotly
  31. ^^^^^^^^^^^^^^^^^^^^^^
  32. `plotly.py <https://github.com/plotly/plotly.py>`_ 是一个非常流行的Python数据可视化库,可以生成高质量的交互式图表。
  33. PyWebIO 支持输出使用 plotly 库创建的图表。使用方式为在PyWebIO会话中调用::
  34. # fig 为 plotly 的图表实例
  35. html = fig.to_html(include_plotlyjs="require", full_html=False)
  36. pywebio.output.put_html(html)
  37. 相应demo见 :charts_demo_host:`plotly demo </?app=plotly>`
  38. .. image:: https://cdn.jsdelivr.net/gh/wang0618/pywebio-chart-gallery@master/assets/plotly.png
  39. cutecharts.py
  40. ^^^^^^^^^^^^^^^^^^^^^^
  41. `cutecharts.py <https://github.com/cutecharts/cutecharts.py>`_ 是一个可以创建具有卡通风格的可视化图表的python库。
  42. 底层使用了 `chart.xkcd <https://github.com/timqian/chart.xkcd>`_ Javascript库。
  43. 在 PyWebIO 中使用 `put_html() <pywebio.output.put_html>` 可以输出 cutecharts.py 库创建的图表::
  44. # chart 为 cutecharts 的图表实例
  45. pywebio.output.put_html(chart.render_notebook())
  46. 相应demo见 :charts_demo_host:`cutecharts demo </?app=cutecharts>`
  47. .. image:: https://cdn.jsdelivr.net/gh/wang0618/pywebio-chart-gallery@master/assets/cutecharts.png