要在Python中使用Flask框架創建可視化展示,可以使用Flask提供的模板引擎(如Jinja2)來渲染HTML模板,并結合前端的可視化庫(如D3.js、Chart.js等)來展示數據。
以下是一個簡單的示例代碼,演示如何在Flask應用中展示一個簡單的柱狀圖:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
data = {
'labels': ['A', 'B', 'C', 'D'],
'values': [10, 20, 30, 40]
}
return render_template('index.html', data=data)
if __name__ == '__main__':
app.run()
在上面的代碼中,定義了一個簡單的Flask應用,當訪問根路徑’/'時,會渲染一個名為’index.html’的模板,并傳遞一個包含數據的字典作為參數。
接下來,創建一個名為’index.html’的模板文件,用于展示數據:
<!DOCTYPE html>
<html>
<head>
<title>Bar Chart</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<canvas id="myChart" width="400" height="400"></canvas>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
type: 'bar',
data: {
labels: {{ data.labels | tojson }},
datasets: [{
label: 'Data',
data: {{ data.values | tojson }}
}]
}
});
</script>
</body>
</html>
在這個模板中,使用Chart.js庫創建了一個簡單的柱狀圖,通過{{ data.labels | tojson }}和{{ data.values | tojson }}語法將Python傳遞的數據渲染到模板中。
最后,啟動Flask應用并訪問localhost:5000,即可看到展示了柱狀圖的頁面。通過類似的方式,可以使用其他可視化庫和模板引擎展示更復雜的數據可視化效果。