数据可视化(echarts会员信息表实现)

本文详细描述了如何使用ECharts库对鲜花店的会员信息进行可视化分析,包括年龄分布的堆积柱状图、入会渠道的条形图、城市消费的瀑布图以及入会渠道的饼图和环形图.
摘要由CSDN通过智能技术生成

基于“会员信息表. xlsx ”文件记录了某鲜花店销售系统上的会员信息,具体包括会员编号、姓名、性别、年龄、年龄段、城市、人会方式、会员级别、会员人会日、 VIP 建立日、购买总金额、购买总次数信息。

绘制如下:

一、绘制堆积柱状图分析会员年龄分布情况

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <!--引入ECharts脚本-->
    <script src="js/echarts.js"></script>
</head>
 
<body>
    <!---为ECharts准备一个具备大小(宽高)的DOM-->
    <div id="main" style="width: 600px; height: 400px"></div>
    <script type="text/javascript">
        //基于准备好的DOM,初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {
			title: {
                text: '会员年龄段分布',
                subtext: '',
                textStyle:{
                    color:'#5A5476',
                }
            },
            tooltip: {
                trigger: 'axis',
                axisPointer: {  //设置坐标轴指示器,坐标轴触发有效
                    type: 'shadow'  //设置坐标轴默认为直线,可选为:'line'|'shadow'
                }
            },
            legend: {
                data: ['男', '女']
            },
            toolbox: {
                show: true,
                orient: 'vertical',
                x: 'right',
                y: 'center',
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: { show: true, type: ['line', 'bar', 'stack', 'tiled'] },
                    restore: { show: true },
                    saveAsImage: { show: true }
                }
            },
            calculable: true,
            xAxis: [
                {
                    type: 'category',
                    data: ['20~29岁', '30~39岁', '40~49岁']
                }
            ],
            yAxis: [
                {
                    type: 'value'
                }
            ],
            color:['#45C2E0', '#C1EBDD'],
            series: [
                {
                    name: '男',
                    type: 'bar',
					stack: '年龄段',  //设置堆积效果
                    data: [6,2,1]
                },
                {
                    name: '女',
                    type: 'bar',
                    stack: '年龄段',  //设置堆积效果
                    data: [4,3,3],
					markLine: {
                        itemStyle: {
                            normal: {
                                lineStyle: {
                                    type: 'dashed'
                                }
                            }
                        },
                    }
                },
            ]
        };
 
 
        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option); 
    </script>
</body>
 
</html>

二、绘制标准条形图分析会员入会渠道分布

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <!--引入ECharts脚本-->
    <script src="js/echarts.js"></script>
</head>
 
<body>
    <!---为ECharts准备一个具备大小(宽高)的DOM-->
    <div id="main" style="width: 800px; height: 400px"></div>
    <script type="text/javascript">
        //基于准备好的DOM,初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {
            title: {
                text: '会员入会渠道分布情况',
                subtext: '',
                textStyle:{
                    color:'#5A5476',
                }
            },
            tooltip: {
                trigger: 'axis',
            },
            legend: {
                data: ['男', '女'],
            },
            toolbox: {
                show: true,
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: { show: true, type: ['line', 'bar'] },
                    restore: { show: true },
                    saveAsImage: { show: true },
                },
            },
            calculable: true,
            xAxis: [
                {
                    type: 'value',  //设置柱状图
                    boundaryGap: [0, 0.01],
                },
            ],
            yAxis: [
                {
                    type: 'category',
                    data: ['导购推荐', '线上推广', '团购促销', '节日活动'],
                },
            ],
            color:['#45C2E0', '#C1EBDD'],
            series: [
                {
                    name: '男',
                    type: 'bar',
                    data: [2, 1, 4, 3],
                },
                {
                    name: '女',
                    type: 'bar',
                    data: [4, 2, 6, 2],
                },
            ],
        };
 
        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
 
</html>

三、绘制瀑布图分析不同城市会员消费总金额分布

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <!--引入ECharts脚本-->
    <script src="js/echarts.js"></script>
</head>
 
<body>
    <!---为ECharts准备一个具备大小(宽高)的DOM-->
    <div id="main" style="width: 600px; height: 400px"></div>
    <script type="text/javascript">
        //基于准备好的DOM,初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {
            title: {
                text: '不同城市消费总金额',
                subtext: '',
                textStyle:{
                    color:'#5A5476',
                }
            },
            tooltip: {
                trigger: 'axis',
                axisPointer: {  //设置坐标轴指示器,坐标轴触发有效
                    type: 'shadow'  //默认为直线,可选为:'line' | 'shadow'
                },
                formatter: function (params) {
                    var tar = params[0];
                    return tar.name + '<br/>' + tar.seriesName + ' : ' + tar.value;
                }
            },
            toolbox: {
                show: true,
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    restore: { show: true },
                    saveAsImage: { show: true }
                }
            },
            xAxis: [
                {
                    type: 'category',
                    splitLine: { show: false },
                    data: ['上海', '杭州', '深圳', '广州' ]
                }
            ],
            yAxis: [
                {
                    type: 'value'
                }
            ],
            series: [
				{
                    name: '辅助',
                    type: 'bar',
                    stack: '总量',
                    itemStyle: {
                        normal: {  //设置正常情况下柱子的样式
                            //barBorderColor: 'rgba(0,0,0,0)',  //设置柱子边框的颜色
                            barBorderColor:'#45C2E0',
                            barBorderWidth: 5,  //设置柱子边框的宽度
                            //color: 'rgba(0,0,0,0)'  //设置柱子的颜色
                            color:'#45C2E0'
                        },
                        emphasis: {  //设置鼠标滑过时柱子的样式
                            barBorderColor:  '#C1EBDD' ,  //设置鼠标滑动到柱子边框的颜色
                            barBorderWidth: 25,  //设置鼠标滑动到柱子边框的宽度
                            color:  '#C1EBDD'  //设置鼠标滑动到柱子的颜色
                        }
                    },
                    data: [330, 777, 1114, 635]
                },
                {
                    name: '生活费',
                    type: 'bar',  //设置柱状图
                    stack: '总量',  //设置堆积
                    itemStyle: { normal: { label: { show: true, position: 'inside' } } },
                    data: [4476, 2275, 1181, 946]
                }
            ]
        };
        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option); 
    </script>
</body>
 
</html>

四、绘制饼图和环形图分析会员入会渠道分布

饼图:

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <!--引入ECharts脚本-->
    <script src="js/echarts.js"></script>
</head>
 
<body>
    <!---为ECharts准备一个具备大小(宽高)的DOM-->
    <div id="main" style="width: 600px; height: 400px"></div>
    <script type="text/javascript">
        //基于准备好的DOM,初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {
            title: {  //配置标题组件
                text: '会员入会渠道分布情况',  //设置主标题
                subtext: '',  //设置次标题
                left: 'center'  //设置主次标题都左右居中
            },
            tooltip: {  //配置提示框组件
                trigger: 'item',
                formatter: "{a} <br/>{b} : {c} ({d}%)"
            },
            legend: {  //配置图例组件
                orient: 'vertical',  //设置垂直排列
                left: 62,  //设置图例左边距
                top: 22,  //设置图例顶边距
                data: ['导购推荐', '线上推广', '团购促销', '节日活动']
            },
            toolbox: {  //配置工具箱组件
                show: true,  //设置工具箱组件是否显示
                left: 444,  //设置工具箱左边距
                top: 28,  //设置工具箱顶边距
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: {
                        show: true,
                        type: ['pie', 'funnel'],
                        option: {
                            funnel: {
                                x: '25%',
                                width: '50%',
                                funnelAlign: 'left',
                                max: 1548
                            }
                        }
                    },
                    restore: { show: true },
                    saveAsImage: { show: true }
                }
            },
            calculable: true,
            color:['#45C2E0', '#C1EBDD', '#FFC851','#FF9393'],
            series: [  //配置数据系列组件
                {
                    name: '入会方式',
                    type: 'pie',
                    radius : '66%',  //设置半径
                    //radius: ['45%', '75%'],
                    
                    clockWise: true,
                    data: [  //设置数据的具体值
                        { value: 5, name: '导购推荐' },
                        { value: 2, name: '线上推广' },
                        { value: 3, name: '团购促销' },
                        { value: 4, name: '节日活动' }
                    ]
                }
            ]
        };
        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option); 
    </script>
</body>
 
</html>

环状图:

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
    <!--引入ECharts脚本-->
    <script src="js/echarts.js"></script>
</head>
 
<body>
    <!---为ECharts准备一个具备大小(宽高)的DOM-->
    <div id="main" style="width: 900px; height: 600px"></div>
    <script type="text/javascript">
        //基于准备好的DOM,初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {
            title: {  //配置标题组件
                backgroundColor: 'yellow',  //设置主标题的背景颜色
                text: '会员入会渠道分布情况',  //设置主标题的文字
                textStyle: {  //设置主标题文字样式
                    color: 'green',  //设置主标题文字的颜色
                    fontFamily: '黑体',  //设置主标题文字的字体
                    fontSize: 28  //设置主标题文字的大小
                },
                x: 'center'  //设置主标题左右居中
            },
            tooltip: {  //配置提示框组件
                trigger: 'item',  //设置提示框的触发方式
                formatter: "{a} <br/>{b} : {c} ({d}%)"
            },
            legend: {  //配置图例组件
                orient: 'vertical',  //设置图例垂直方向
                x: 32,  //设置图例的水平方向
                y: 74,  //设置图例的垂直方向
                data: ['导购推荐', '线上推广', '团购促销', '节日活动']
            },
            toolbox: {  //配置工具箱组件
                show: true,  //设置工具箱是否显示
                x: 555,  //设置工具箱的水平位置
                y: 74,  //设置工具箱的垂直位置
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: {
                        show: true,
                        type: ['pie', 'funnel']
                    },
                    restore: { show: true },
                    saveAsImage: { show: true }
                }
            },
            calculable: false,
            color:['#45C2E0', '#C1EBDD', '#FFC851','#FF9393'],
            series: [
                {
                    name: '入会方式',
                    type: 'pie',
                    selectedMode: 'single',
                    radius: ['40%', '55%'],
                    data: [
                        { value: 5, name: '导购推荐' },
                        { value: 2, name: '线上推广' },
                        { value: 3, name: '团购促销' },
                        { value: 4, name: '节日活动' }
                    ]
                }
            ]
        };
        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option); 
    </script>
</body>
 
</html>

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Flask和MySQL来实现数据可视化,可以通过以下步骤来实现: 1. 使用Flask来搭建Web应用程序,根据需要设置路由和视图函数。 2. 使用MySQL数据库来存储数据,建立需要的数据,并通过Flask的SQLAlchemy库进行数据库交互。 3. 使用Echarts库来实现数据可视化,通过Flask的路由将需要展示的数据传递给前端页面,并将数据绑定到Echarts图形进行展示。 通过上述步骤,就可以实现Flask+MySQL+Echarts数据可视化。 ### 回答2: Flask是一个用Python编写的轻量级Web应用框架;MySQL是一种关系型数据库;而Echarts是一个由百度公司开发的数据可视化库。将Flask、MySQL和Echarts组合使用,可以实现数据的可视化展示,使数据更具可读性和可理解性。 实现步骤如下: 1.搭建Flask框架,建立路由,用于数据传输。 2.连接MySQL数据库,使用Python的pymysql模块连接数据库。 3.从MySQL数据库读取所需的数据,并将它们存入Python的数据结构,如字典或列,然后将其传回到Flask应用。 4.编写Echarts,并将数据插到其。可以选择线形图、条形图、饼图、地图等不同的图类型,并根据需求自定义颜色、字体、动画效果等。 5.最后将Echarts嵌入到Flask应用,使其显示在网页上,供用户查看并互动。 对于使用Flask、MySQL和Echarts实现数据可视化具体步骤,我将稍微详细说明一下。 一、搭建Flask框架 Flask是一个微型框架,采用了Werkzeug工具箱和Jinja2模板引擎。我们需要安装Flask和相关的依赖项,建立Flask应用程序,然后建立路由,使得我们可以传输数据到和从Flask应用程序。 二、连接MySQL数据库 我们可以使用比Python标准库的MySQLdb更流行的pymysql模块来连接我们的MySQL数据库。我们需要提供数据库的用户名和密码,以及主机名、端口、要使用的数据库等其他相关信息。连接后,可以通过Python执行SQL查询或更新,以读取或写入数据。 三、读取数据并传回Flask应用程序: 使用Python代码向数据库查询所需数据,从结果提取所需信息,然后返回组成数据结构,如列或字典。在Flask应用程序设置一个路由,可以识别来自前端JavaScript的HTTP GET请求,并将响应作为JSON格式数据发送回前端。 四、编写Echarts 我们可以使用Echarts的各种类型的图,用于不同的数据可视化需求。我们可以选择线形图、条形图、散点图、饼图、地图等。Echarts提供了一个函数接口,可以直接把数据传入图,然后用JavaScript来呈现。 五、将Echarts嵌入到Flask应用Echarts嵌入到Flask应用程序,需要在前端JavaScript调用我们已设置好的路由,向Flask应用程序请求数据,并在响应到达时调用Echarts组件来显示数据。    综上所述,使用Flask、MySQL和Echarts结合实现数据可视化,可以让数据更生动形象,让用户对数据有更好的理解和掌握,进而提升整个数据应用的效率和可靠性。 ### 回答3: Flask是一个非常流行的Python Web框架,可以用来搭建Web应用程序。MySQL是一个开源、轻量级的关系型数据库管理系统。而echarts是一个非常强大的JavaScript图库,可以用来展示各种数据。 通过将这三者结合起来,可以实现数据可视化,即将MySQL的数据通过Flask进行处理和展示,并使用echarts将这些数据以图的方式呈现出来。 实现该过程的基本步骤如下: 1.使用Python连接MySQL数据库并读取数据。 2.使用Flask框架编写Web应用程序,包括提供数据的API接口、前端页面等。 3.在前端页面使用echarts库进行数据可视化展示。可以绘制多种类型的图,如折线图、柱状图、饼图等,根据数据的具体情况选择合适的图类型。 具体实现步骤如下: 1.安装MySQL和Flask库,分别使用以下命令: pip install mysql-connector-python pip install Flask 2.编写Python代码,连接MySQL数据库,并读取需要展示的数据。代码示例: import mysql.connector cnx = mysql.connector.connect(user='用户名', password='密码', host='主机名', database='数据库名') cursor = cnx.cursor() query = "SELECT * FROM 名" cursor.execute(query) data = cursor.fetchall() 3.编写Flask应用程序,提供API接口。代码示例: from flask import Flask, jsonify app = Flask(__name__) @app.route("/data") def get_data(): # 数据读取及处理 return jsonify(data) if __name__ == "__main__": app.run() 4.编写前端页面,使用echarts库进行数据可视化展示。代码示例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>数据可视化展示</title> </head> <body> <!--echarts展示区域--> <div id="chart" style="width: 600px; height:400px;"></div> <!--echarts库的引入--> <script src="https://cdn.staticfile.org/echarts/4.2.0-rc.1/echarts.min.js"></script> <!--数据获取及图绘制--> <script> var dataUrl = "/data"; $.get(dataUrl, function (data) { var chart = echarts.init(document.getElementById('chart')); var option = { xAxis: { type: 'category', data: data.xAxisData }, yAxis: { type: 'value' }, series: [{ data: data.seriesData, type: 'bar' }] }; chart.setOption(option); }); </script> </body> </html> 以上就是Flask MySQL echarts实现数据可视化的基本步骤,通过这种方式可以方便地展示各种类型的数据。在实际项目,还需要根据具体情况进行相应的调整和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值