成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

別找了,這才是 Pyecharts 的正確打開方式!

開發 前端
如果你嘗試用 Python 進行可視化,會發現用起來很爽,但是保存或者展示確稍顯麻煩。就拿 pyehcharts 來說,如果在需要展示的時候啟動 notebook 現場執行代碼,這應該是最麻煩的方式。

[[434305]]

大家好,我是早起。

如果你嘗試用 Python 進行可視化,會發現用起來很爽,但是保存或者展示確稍顯麻煩。

就拿 pyehcharts 來說,如果在需要展示的時候啟動 notebook 現場執行代碼,這應該是最麻煩的方式。

另一種思路是導出為 html 或其他靜態文件,打開進行展示,這也是一種不錯的方式,但是如果有很多個圖表呢?

你會說,pyecharts 自帶圖表組合,將多個圖表組合在一起輸出到一個 html 中,但凡是用過這個功能的人都會說不僅難用,并且很難增加一些自定義的元素。

當然,去年分享過一篇結合 PPT 展示的教程,確實是一個不錯的選擇,但是也稍顯麻煩。

所以,在之前,我的一個解決方案是將這一堆圖表輸出為 html 格式,然后使用 iframe 嵌入前端頁面中,當然這是基于 Django ,并且需要自己寫前端的 style ,就像去年分享的疫情追蹤大屏

但是吧,又是逃不過 Django 這樣的大家伙,配置起來對不熟悉的小白來說是非常折磨的。

那有沒有更優雅的方法?選 PyWebIO !還是將圖表放在網頁上,任何人都能訪問查看交互式圖表與源碼,就像這樣?

原視頻

就像上面展示的一樣,不論是 pyecharts 還是 plotly 還是 bokeh 都可以完美的掛在網站上,按照自己預設的方式,保留一些交互功能與源碼查看!并且更重要的是,我們可以自由排列組合頁面內容,并且根據需要添加更多的自定義元素! 下面就來介紹下制作過程。

如何實現

和之前的文章一樣,我們先思考一下如何實現,是先生成 html 還是打開頁面時生成?

實際上還是事先生成的,同時保留html和py腳本,所以最簡單的一個 pyecharts 代碼可以這么寫

  1. from pywebio.output import put_html 
  2. from pyecharts import options as opts 
  3. from pyecharts.charts import Bar 
  4. from pyecharts.faker import Faker 
  5.  
  6.  
  7. c = ( 
  8.     Bar() 
  9.     .add_xaxis(Faker.choose()) 
  10.     .add_yaxis("商家A", Faker.values()) 
  11.     .add_yaxis("商家B", Faker.values()) 
  12.     .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標題")) 
  13.      
  14.  
  15. c.width = "100%" 
  16. put_html(c.render_notebook()) 

第一部分是 pyecharts 制作圖表的部分,不多解釋

重要的是最后一行,通過 put_html() 嵌入 PyWebIO 中,這樣我們這個圖的腳本就搞定了,接下來只要如法炮制,制作更多的圖表腳本。

下面是主函數部分,如何將這些腳本嵌入并展示,首先是搜索全部腳本文件,之后使用open(html_file).read()打開之前生成的圖表,再使用put_collapse(t('Show source code', '查看源碼'), put_code(code, 'python'))預覽代碼即可,代碼如下

  1. @use_scope('content', clear=True
  2. def show_demo(name): 
  3.     if name not in t(all_demos, all_demos_zh): 
  4.         return 
  5.  
  6.     with use_scope('loading'): 
  7.         put_text('Loading...'
  8.         put_loading() 
  9.  
  10.     base_dir = path.join(src_path, name
  11.     files = os.listdir(base_dir) 
  12.     for file in files: 
  13.         if not file.endswith('.py'): 
  14.             continue 
  15.         name = file[:-len(".py")] 
  16.  
  17.         html_file = path.join(base_dir, 'output'name) + '.html' 
  18.         try: 
  19.             code = open(path.join(base_dir, file)).read() 
  20.             html = open(html_file).read() 
  21.         except
  22.             continue 
  23.  
  24.         put_html(html) 
  25.  
  26.         # todo: if there is `open` calls, provide the file link 
  27.         put_collapse(t('Show source code''查看源碼'), put_code(code, 'python')) 
  28.  
  29.     scroll_to(position='top'
  30.     clear('loading'

最后使用 put_buttons() 添加按鈕

  1. put_buttons([(v, k) for k, v in t(all_demos, all_demos_zh).items()], onclick=show_demo) 

再啟動項目即可看到我們制作的展示頁面

  1. start_server(pyecharts, port=8080, debug=True, auto_open_webbrowser=False

最終效果如下

最后只要將項目部署到到服務器,你就可以讓任何人看到你的可視化項目,是不是很酷!

當然,上面是基于 pyecharts 進行講解,實際上適用于任何 Python 可視化庫,只要按照相同的辦法制作即可,并且更重要的是,我們可以自由排列組合頁面內容,并且根據需要添加更多的自定義元素!

 

本文的代碼參考官方文檔 (https://github.com/wang0618/pywebio-chart-gallery/tree/master/pyecharts_demo)感興趣的讀者可以下載嘗試!

 

責任編輯:武曉燕 來源: 早起Python
相關推薦

2021-11-25 07:43:56

CIOIT董事會

2022-08-16 08:33:06

DevOps實踐

2019-03-17 16:48:51

物聯網云計算數據信息

2020-05-09 10:35:06

遞歸面試算法

2025-06-17 08:12:16

2025-03-12 11:14:45

2021-06-07 10:05:56

性能優化Kafka

2021-10-09 15:49:00

5G網絡技術

2018-10-29 15:20:03

2025-01-15 12:31:46

2022-03-22 07:37:04

FeignSpringRibbon

2019-02-20 14:35:57

區塊鏈數字貨幣比特幣

2016-01-08 11:00:14

OpenStack云計算

2016-03-01 14:51:18

云計算DevOps

2017-08-02 10:43:39

深度學習TensorFlowRNN

2023-07-10 09:38:06

兼容性測試方案

2025-04-30 08:20:58

2020-06-04 15:16:46

云計算

2020-07-05 09:17:20

云桌面

2022-06-22 09:06:54

CSS垂直居中代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久一区二区三区 | 国产精品久久久久一区二区三区 | 亚洲黄色在线免费观看 | 久久精品免费 | 日韩三级免费观看 | 天天欧美| 韩国久久 | 男女国产视频 | 一本色道精品久久一区二区三区 | 国产精品久久久久久中文字 | 久久精品高清视频 | 日韩视频一区二区三区 | 精品成人佐山爱一区二区 | 韩国久久精品 | 国产日韩一区二区三区 | 免费a国产 | 成人在线免费视频 | 人妖一区| 亚洲视频欧美视频 | 97av视频在线 | 国产精品视频一区二区三 | 激情欧美一区二区三区中文字幕 | 欧洲一区二区在线 | 国产精品美女在线观看 | 在线播放国产一区二区三区 | 成人在线中文字幕 | 国产一区二区精品自拍 | 欧美一区二区三区四区五区无卡码 | 色综合久久久 | 国产欧美精品在线 | 久久国产一区二区三区 | 国产成人精品一区二区三区在线 | 麻豆一区二区三区 | 欧美视频在线看 | 黄色国产 | 中文字幕一区在线观看视频 | 国产欧美一区二区三区久久手机版 | 天天搞天天操 | 精品国产欧美一区二区三区成人 | 久久精品99国产精品日本 | 国产激情在线看 |