成人免费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

2016-01-08 11:00:14

OpenStack云計算

2019-02-20 14:35:57

區塊鏈數字貨幣比特幣

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技術棧公眾號

主站蜘蛛池模板: 久久国产一区二区三区 | 久久久.com | 一级毛片视频在线 | 国产成人网 | 农村真人裸体丰满少妇毛片 | 国产精品久久久久久久久久妇女 | 久久久人成影片一区二区三区 | 天堂亚洲网 | 亚洲成人福利 | 日韩和的一区二在线 | 精品久| 成在线人视频免费视频 | 精品av| 亚洲日本免费 | av网站在线免费观看 | 免费在线观看毛片 | h片在线看 | 国产精品视频一区二区三区 | 亚洲人成在线观看 | 久久久精品综合 | www.99re| 国产欧美一区二区三区在线看蜜臀 | 99视频免费 | 亚洲国产精品人人爽夜夜爽 | 成人在线中文字幕 | 国产网站在线免费观看 | 三级黄色片在线观看 | 中文字幕一二三区 | 免费人成在线观看网站 | 国产精品一区2区 | 亚洲 欧美 另类 综合 偷拍 | 亚洲高清一区二区三区 | 亚洲一区| 午夜黄色 | 亚洲欧美一区二区三区1000 | 国产精品免费一区二区三区四区 | 国产精品亚洲一区二区三区在线观看 | 日日干干夜夜 | 国产成人精品视频在线观看 | 久久久不卡网国产精品一区 | 欧美激情五月 |