使用 Flask 绘制甘特图

Gantt charts with Flask

我需要一个示例代码来使用 Flask 在甘特图中表示一些数据。

虽然你的问题太宽泛,而且你似乎什么都没尝试过,但我会给你举个例子。假设我们有以下代码:

from flask import Flask, request, render_template

app = Flask(__name__)
app.config['DEBUG'] = True


def init_gantt():
    import matplotlib.pyplot as plt

    fig, gnt = plt.subplots()
    gnt.set_ylim(0, 50)

    gnt.set_xlim(0, 160)
    gnt.set_xlabel('seconds since start')
    gnt.set_ylabel('Processor')

    gnt.set_yticks([15, 25, 35])
    gnt.set_yticklabels(['1', '2', '3'])

    gnt.grid(True)

    gnt.broken_barh([(40, 50)], (30, 9), facecolors=('tab:orange'))
    gnt.broken_barh([(110, 10), (150, 10)], (10, 9),
                    facecolors='tab:blue')

    gnt.broken_barh([(10, 50), (100, 20), (130, 10)], (20, 9),
                    facecolors=('tab:red'))

    plt.savefig("your_path/gantt1.png")


@app.route('/')
def index():
    return render_template('gantt.html')


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

init_gantt 函数创建我们的图表并将其保存到本地 png 文件。然后您只需在模板中显示该图像:

gantt.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Gantt</title>
</head>
<body>
<img src="your_path/gantt1.png"/>
</body>
</html>