2019年11月16日 星期六

[ pyecharts ] 使用Flask模板瑄染,製作水果交易網站

本篇文章將介紹如何在Flask中使用pyecharts來製作圖表。請先閱讀pyecharts第一篇文章

初體驗! 使用pyecharts以水果交易行情為例

接下來使用Flask模板瑄染其步驟如下:

1.新增templates目錄

2.下載pyecharts套件
網址:https://github.com/pyecharts/pyecharts


3.解開後把pyecharts/render/templates/目錄下檔案放到步驟一的templates目錄下:

4.安裝flask
pip install flask

5.撰寫程式並儲存成server.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from flask import Flask
from jinja2 import Markup, Environment, FileSystemLoader
from pyecharts.globals import CurrentConfig

CurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("./templates"))

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType

app = Flask(__name__, static_folder="templates")


def bar_base() -> Bar:
    bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))

    bar.add_xaxis(["椪柑", "蘋果 富士進口", "番石榴 珍珠芭", "香蕉", "木瓜 網室紅肉", "甜橙 柳橙", "火龍果 紅肉"])
    bar.add_yaxis("台北一", [29.3, 51.5, 40.3, 21.6, 24.0, 61.5, 34.2])
    bar.add_yaxis("台北二", [32.3, 51.4, 53.7, 24.7, 42.3, 23.4, 35.9])
    bar.set_global_opts(title_opts=opts.TitleOpts(title="平均價", subtitle="元"))
    return bar


@app.route("/")
def index():
    c = bar_base()
    return Markup(c.render_embed())


if __name__ == "__main__":
    app.run()

查看檔案

6.執行程式

請注意上圖有一段警告文字"This is a development server. Do not use it in a production deployment.",警告我們這是開發用伺服器,不要在產品佈署中使用。因此在Flask官網有推薦幾種WSGI Server,大家可參考:https://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/?fbclid=IwAR2MsSu9bt-J9WjoPQE51xEXdnnIFkmxCrTR0RLLrzFwOZcWsd6gG3y_t_o

7.打開瀏覽器查看結果127.0.0.1:5000

Python Taiwan分享後,大家討論的情形:
https://www.facebook.com/groups/pythontw/permalink/10159364448738438/

沒有留言:

張貼留言