0
点赞
收藏
分享

微信扫一扫

如何再mysql取出数据用echars画p饼图

Gascognya 2023-07-25 阅读 55

项目方案:使用MySQL取出数据并用Echarts画饼图

1. 项目背景

在现代数据驱动的应用中,经常需要对大量数据进行可视化展示,其中饼图是一种常用的图表类型。MySQL是一种常用的关系型数据库,而Echarts则是一种非常流行的可视化库。本项目旨在通过使用MySQL和Echarts,实现从数据库中取出数据并生成饼图的功能。

2. 技术方案

2.1 数据库准备

首先需要准备一个MySQL数据库,并在其中创建相关的表和数据。以一个示例表sales为例,表结构如下:

CREATE TABLE sales (
  id INT PRIMARY KEY,
  product_name VARCHAR(100),
  sales_amount DECIMAL(10, 2)
);

示例数据如下:

id product_name sales_amount
1 Product A 1000.00
2 Product B 2000.00
3 Product C 3000.00

2.2 后端代码

使用Python编写一个后端程序,通过MySQL连接器与数据库进行交互,将查询结果转化为JSON格式,并提供给前端页面。

import mysql.connector
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/data')
def get_data():
    # 连接MySQL数据库
    conn = mysql.connector.connect(
        host='localhost',
        user='your_username',
        password='your_password',
        database='your_database'
    )
    cursor = conn.cursor()

    # 查询数据
    query = 'SELECT product_name, sales_amount FROM sales'
    cursor.execute(query)
    result = cursor.fetchall()

    # 将查询结果转化为JSON格式
    data = [{'product_name': row[0], 'sales_amount': float(row[1])} for row in result]

    # 返回JSON数据
    return jsonify(data)

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

2.3 前端代码

使用HTML和JavaScript编写一个前端页面,通过Ajax请求后端接口获取数据,并使用Echarts生成饼图。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>MySQL & Echarts</title>
    <script src="
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 使用Ajax请求后端接口获取数据
        var xhr = new XMLHttpRequest();
        xhr.open('GET', '/api/data');
        xhr.onload = function() {
            if (xhr.status === 200) {
                var data = JSON.parse(xhr.responseText);

                // 构造饼图数据
                var pieData = data.map(function(item) {
                    return { value: item.sales_amount, name: item.product_name };
                });

                // 生成饼图
                var chart = echarts.init(document.getElementById('chart'));
                var option = {
                    series: [
                        {
                            type: 'pie',
                            data: pieData
                        }
                    ]
                };
                chart.setOption(option);
            }
        };
        xhr.send();
    </script>
</body>
</html>

3. 项目部署

3.1 后端部署

将后端代码保存为app.py文件,并确保已安装mysql-connector-pythonflask库。然后在终端中运行以下命令启动后端服务器:

python app.py

3.2 前端部署

将前端代码保存为index.html文件,并将其与Echarts库文件一起放置在Web服务器的根目录下。例如,使用Nginx作为Web服务器,将文件放置在/var/www/html/目录下。然后通过浏览器访问http://your_domain/index.html即可查看饼图。

4. 总结

通过使用MySQL和Echarts,我们可以实现从数据库中取出数据并生成饼图的功能。后端使用Python编写,通过MySQL连接器与数据库进行交互,并将查询结果转化为JSON格式返回给前端。前端使用HTML和JavaScript编写,通过Ajax请求后端接口获取数据,并使用Echarts生成饼图。这个项目可以应用于各种数据可视化场景

举报

相关推荐

0 条评论