Flask可视化

目录

Flask可视化

一、创建文件

二、写html文件

1.写html的基本代码

2.写盒子div

3.css文件

 4.连接数据库并处理数据

5.使用python.py文件,让app跑起来

6.使用echarts绘图

 7.使用ajax连接前后端并显示

8.echarts图表

         1.折线图

        2.柱形图

        3.饼图

        4.雷达图


Flask可视化

工具:

Python Flask——后台

html+css——前台页面

js(ajax)——前后台数据通信

mysql——存放数据

echart实现各种图形绘制

一、创建文件

可以参照下面的链接
创建flak

二、写html文件

1.写html的基本代码

2.写盒子div

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>淘宝可视化</title>
    <script src = '../static/js/echats.js'></script>
    <script src = '../static/js/jquery-3.6.0.js'></script>
    <link href="../static/css/tbcss.css" rel = 'stylesheet'>

</head>
<body>
<div id ='title'>信息可视化</div>
<div id = 'l_top'>123</div>
<div id = 'l_bottom'>123</div>
<div id = 'c_top'>123</div>
<div id = 'c_bottom'>123</div>
<div id = 'r_top'>123</div>
<div id = 'r_bottom'>123</div>
<script src = '../static/js/tbajax.js'></script>
<script src = '../static/js/tbecharts.js'></script>
</body>
</html>

3.css文件

*{
    margin: 0;
    padding: 0;
}
#title{
    position: absolute;
    height: 16%;
    width: 100%;
    color: white;
    font-size: 30px;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;

}
#l_top{
    position: absolute;
    width: 30%;
    height: 42%;
    top: 16%;
    background-color: cornflowerblue;
}
#l_bottom{
    position: absolute;
    width: 30%;
    height: 42%;
    top: 58%;
    background-color: bisque;

}
#c_top{
    position: absolute;
    width: 40%;
    height: 42%;
    top: 16%;
    left: 30%;
    background-color: chartreuse;
}
#c_bottom{
    position: absolute;
    width: 40%;
    height: 42%;
    top: 58%;
    left: 30%;
    background-color: yellow;

}
#r_top{
    position: absolute;
    width: 40%;
    height: 42%;
    top: 16%;
    left: 70%;
    background-color: beige;
}
#r_bottom{
    position: absolute;
    width: 40%;
    height: 42%;
    top: 58%;
    left: 70%;
    background-color: aqua;

}

 4.连接数据库并处理数据

import pymysql
def connect():
    conn = pymysql.Connect(host='127.0.0.1',port=3306,user='root',password='tz15035895786',db='tb',charset='utf8')
    cursor = conn.cursor()
    return cursor,conn
def closecn(cursor,conn):
    cursor.close
    conn.close
def query(sql):
    cursor,conn = connect()
    cursor.execute(sql)
    res = cursor.fetchall()
    closecn(cursor,conn)
    return res
def get_data1():
    sql ='select province,count(province) from tb group by province order by count(province) desc limit 10;'
    result = query(sql)
    city = []
    citycount = []

    for i in result:
        city.append(i[0])
        citycount.append(i[1])
    print(city)
    print(citycount)
    return city,citycount
get_data1()

5.使用python.py文件,让app跑起来

from flask import Flask
from flask import render_template
from flask import jsonify
import util
app = Flask(__name__)


@app.route('/')
def index():  # put application's code here
    return render_template('index.html')
@app.route('/data1')
def get_data():
    city,citycount = util.get_data1()
    return jsonify({'city':city,'citycount':citycount})
@app.route('/data2')
def get_data2():
    gendercount = util.get_data2()
    return jsonify({'gendercount':gendercount})
@app.route('/data3')
def get_data3():
    item_id,item_idcount = util.get_data3()
    return jsonify({item_id:'item_id',item_idcount:'item_idcount'})
if __name__ == '__main__':
    app.run()

6.使用echarts绘图

var a = echarts.init(document.getElementById('l_top'),'dark')
var b = {
    title:{
        text:'中国城市各分布数量',
        left:'center'
    },
    xAxis:{
        type:'category',
        data:[]
    } ,
    yAxis: {
        type: 'value'
    },
    series:[
        {
            type:'line',
            data: []
        }
    ]
}
a.setOption(b)

 7.使用ajax连接前后端并显示

function get_data(){
    $.ajax({
        'url':'/data1',
        'success':function (data1){
            b.xAxis.data = data1.city
            b.series[0].data = data1.citycount
            a.setOption(b)
        }
    })
}

8.echarts图表

         1.折线图

                

option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [150, 230, 224, 218, 135, 147, 260],
      type: 'line'
    }
  ]
};

        2.柱形图

option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    }
  ]
};

        3.饼图

option = {
  title: {
    text: 'Referer of a Website',
    subtext: 'Fake Data',
    left: 'center'
  },
  tooltip: {
    trigger: 'item'
  },
  legend: {
    orient: 'vertical',
    left: 'left'
  },
  series: [
    {
      name: 'Access From',
      type: 'pie',
      radius: '50%',
      data: [
        { value: 1048, name: 'Search Engine' },
        { value: 735, name: 'Direct' },
        { value: 580, name: 'Email' },
        { value: 484, name: 'Union Ads' },
        { value: 300, name: 'Video Ads' }
      ],
      emphasis: {
        itemStyle: {
          shadowBlur: 10,
          shadowOffsetX: 0,
          shadowColor: 'rgba(0, 0, 0, 0.5)'
        }
      }
    }
  ]
};

        4.雷达图

 

option = {
  title: {
    text: 'Basic Radar Chart'
  },
  legend: {
    data: ['Allocated Budget', 'Actual Spending']
  },
  radar: {
    // shape: 'circle',
    indicator: [
      { name: 'Sales', max: 6500 },
      { name: 'Administration', max: 16000 },
      { name: 'Information Technology', max: 30000 },
      { name: 'Customer Support', max: 38000 },
      { name: 'Development', max: 52000 },
      { name: 'Marketing', max: 25000 }
    ]
  },
  series: [
    {
      name: 'Budget vs spending',
      type: 'radar',
      data: [
        {
          value: [4200, 3000, 20000, 35000, 50000, 18000],
          name: 'Allocated Budget'
        },
        {
          value: [5000, 14000, 28000, 26000, 42000, 21000],
          name: 'Actual Spending'
        }
      ]
    }
  ]
};

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Echarts Flask可视化大屏是一种基于Flask框架和Echarts图表库的数据可视化方案。通过使用Flask框架搭建Web应用程序,将数据传递给Echarts图表库进行可视化展示,实现数据的直观呈现和分析。该方案具有易于扩展、灵活性高、可定制化等优点,适用于各种数据可视化场景。 ### 回答2: Echarts Flask可视化大屏是指利用Flask框架和Echarts图表库,搭建符合用户需求的数据可视化展示平台。由于Flask框架的灵活性,结合Echarts图表库的优秀设计,Echarts Flask可视化大屏具有良好的展示效果和开发效率。 在实现Echarts Flask可视化大屏的过程中,首先需要梳理需求,确定需要展示的内容、数据类型、格式和图表类型。然后可以通过Flask框架搭建Web应用程序,建立数据源与数据库的连接,并将数据转换成Echarts图表所需的格式。接着,根据需求选择适合的Echarts图表类型,根据Echarts官方文档进行相应的配置和定制,添加事件和交互。最后,可以根据需求优化布局、视觉效果和交互性,建立大屏展示模式,从而实现一个符合要求的Echarts Flask可视化大屏。 Echarts Flask可视化大屏不仅可以实现数据展示,还可以对数据进行实时监控、分析和预测,提供更多价值。同时,Echarts图表库支持多种数据格式,不仅可以展示静态数据,还可以处理动态数据,可适用于各种行业和领域。Echarts Flask可视化大屏搭建简单易用,且具有高度的定制性,可以满足不同用户的需求。理解和掌握Echarts Flask可视化大屏的开发,具有重要的实际应用意义和深远的发展前景。 ### 回答3: Echarts Flask可视化大屏是一种将Python Web框架Flask和JavaScript图表库Echarts相结合的数据可视化方法。Flask是一个轻量级的Web应用框架,使用Python语言编写。它提供了丰富的扩展功能,包括了路由映射、请求和响应、数据库集成等。Echarts是一种基于JavaScript语言的开源可视化库,它提供了各种各样的可视化图表和动画效果。 使用Echarts Flask可视化大屏,可以将数据以图表形式展现在网页上,用户可以通过图表直观地了解数据的趋势和关联性。在项目中,可以使用Python将数据从数据库中提取并传递给前端,再通过Echarts实现数据可视化。通过调整图表的样式和设置交互式功能,可以构建出漂亮且功能丰富的数据可视化页面。 为了实现Echarts Flask可视化大屏,需要涉及到以下几个方面的内容: 1. 安装Flask和Echarts:首先需要在本地安装Flask和Echarts,可以通过pip命令进行安装。 2. 数据提取与处理:在Flask中使用Python代码从数据库中提取数据,进行处理和转换,最终传递给前端。 3. 前端页面设计:在前端页面中使用Echarts库创建图表,并设置各种参数和样式,以及交互式功能。 4. 后端和前端连接:通过Flask提供的路由功能,将前端页面和后端数据集成起来,实现数据可视化页面的显示和交互。 总的来说,Echarts Flask可视化大屏是一种非常实用的数据可视化方法,可以帮助用户更加直观地了解数据的分布和趋势,也可以方便开发者快速构建出高质量的数据可视化页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值