创新实训【16】——热词分析图表展示

该篇博客详细记录了如何利用ECharts库来展示热词分析的图表,包括从数据库获取讨论最多的10个热词,通过前端与后端交互获取数据,然后使用扇形图和条形图进行可视化展示。前端使用Vue.js框架,并通过echarts组件创建了两个图表,一个为热词扇形图,另一个为热词柱状图,以直观地展示热词的分布和数量。此外,博客还展示了数据库查询SQL语句以及后端处理数据的方法。
摘要由CSDN通过智能技术生成

主要内容

这篇主要记录了热词分析的图表展示,从数据库中获得了讨论次数最多的10个热词,使用echarts的扇形图和条形图展示了热词和数量。

展示内容

在这里插入图片描述

主要步骤

1.在前端用div展示图表的宽度和高度。

<template>
    <div>
        
        <div>
       <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
        <div id="main1" style="width:450px;height: 500px;float:left;margin-left:120px"></div>
        <div id="main2" style="width:600px;height: 500px;float:right;margin-right:20px"></div>
      </div>
      
    </div>
</template>

2.前端从后端获取数据
shan是扇形图需要的数据,为每个热词和它的次数,label和size为条形图需要的数据,label为热词名称的列表,size为对应热词名称列表中那个热词的次数。

 data(){
     return{
        data:[],
        label:[],
        size:[],
     };
    },

获得数据,展示图表。

 async getdata(){
            const {data:res}= await this.$http.post("kw_info1");
           this.data=res.shan;
           this.label=res.label;
           this.size=res.size;
           this.getPie1();
           this.getbar();
       },

3.从后端获取数据,shan是扇形图需要的数据,HashMap形式,为每个热词和它的次数,label和size是条形图需要的数据,label是热词名称列表,size是对应热词名称列表中那个热词的次数。

@RequestMapping("/kw_info1")
    public String kw_info1()
    {
        List<KW> a =kwdao.getKWInfo1(10);
        List<Map> result=new ArrayList();
        List<String> label=new ArrayList();
        List<Integer> size=new ArrayList();
        for(KW kw:a){
            Map<String,Object> m=new HashMap();
            m.put("name",kw.getKW());
            m.put("value",kw.getTimes());
            result.add(m);
            label.add(kw.getKW());
            size.add(kw.getTimes());
        }

        HashMap<String,Object> res =new HashMap<>();
        res.put("shan",result);
        res.put("label",label);
        res.put("size",size);
        System.out.println(res);
        String res_json=JSON.toJSONString(res);
        return res_json;

    }

从数据库中查询出现次数最多的10个热词

<select id="getKWInfo1" resultType="com.example.demo.bean.KW">
        select KW,times
        from kwinfo
        order by times desc
        limit #{limit}
    </select>

4.使用echarts展示热词的扇形图和柱状图
引入echarts

let echarts = require('echarts/lib/echarts')
// 引入饼状图组件
require('echarts/lib/chart/pie')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')

展示热词扇形图

getPie1() {
        console.log(111);
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById('main1'));
      // 绘制图表
      myChart.setOption(
          {
    title: {
        text: '热词扇形图',
       
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
    },
    series: [
        {
            name: '热词',
            type: 'pie',
            radius: '50%',
            data: this.data,
            emphasis: {
                itemStyle: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
          }
         );

    },

展示热词柱状图

   getbar(){
        // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById('main2'));
      // 绘制图表
      myChart.setOption(
          {
              title: {
        text: '热词柱状图',
       
        left: 'center'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {            // 坐标轴指示器,坐标轴触发有效
            type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
        }
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: [
        {
            type: 'category',
            data: this.label,
            axisTick: {
                alignWithLabel: true
            }
        }
    ],
    yAxis: [
        {
            type: 'value'
        }
    ],
    series: [
        {
            name: '数量',
            type: 'bar',
            barWidth: '60%',
            data: this.size,
            itemStyle: {
                    normal: {
              //好,这里就是重头戏了,定义一个list,然后根据所以取得不同的值,这样就实现了,
                        color: function(params) {
                            // build a color map as your need.
                            var colorList = [
                              '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
                               '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
                               '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0',
                               '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
                               '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
                               '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
                            ];
                            return colorList[params.dataIndex]
                        },
             
                    }
                },
        }
    ]
}
      )
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个企业Spark案例是关于如何展示出租车轨迹图表的。通过使用Spark技术,可以对大量的出租车轨迹数据进行处理和分析,并将结果以图表的形式展示出来。这样可以帮助企业更好地了解出租车的运营情况,优化出租车的调度和路线规划,提高出租车的运营效率和服务质量。同时,这个案例也展示了Spark在大数据处理和可视化方面的强大能力,为企业提供了更好的数据分析和决策支持。 ### 回答2: 随着时代的发展,数据分析技术已经成为企业分析业务的必要工具。而Spark作为一个强大的数据处理和分析计算框架,已成为越来越多企业的首选。 一家出租车公司使用Spark分析来自多个城市出租车的轨迹数据,这样他们就可以了解客户的行为和消费偏好。对于这些数据,公司使用了Spark中的GraphX库来将数据图表化。 在处理大规模数据时,传统的方法可能会遇到许多问题,例如计算时间长、计算复杂度高、对硬件要求高等。然而,使用Spark就可以轻松地解决这些问题。Spark擅长于大规模数据处理,具有卓越的性能和可扩展性,可以快速 地处理大量的数据。同时,Spark强大的分布式计算能力,充分利用集群的计算资源,提高了执行速度和计算效率。 在这家出租车公司的案例中,Spark是一个非常有用的工具,它可以将图像和轨迹数据可视化以帮助企业进行客户分析。Spark可以将轨迹数据转换成易于理解的图形,以支持公司对出租车的路线和行驶时间的深入分析。由于Spark的高性能和可伸缩性,处理大规模的轨迹数据变得轻松且高效。 此外,Spark还可以将结果与其他数据集进行交叉分析,以深入了解客户的行为模式和消费偏好。这种分析可以帮助企业制定更精准的营销策略和提高客户忠诚度。 综上所述,Spark是数据科学工具中的佼佼者,其高效性、可扩展性和强大的数据处理和分析能力使它成为越来越多的企业的首选。对于出租车公司来说,Spark可以帮助他们更好地了解客户的行为模式,并以此制定更明智的营销策略,从而提高公司的运营效率和盈利能力。 ### 回答3: 出租车轨迹图表展示是一款基于Apache Spark的数据分析展示工具,旨在通过可视化展示出租车轨迹数据的空间分布和时间变化情况,帮助企业更好地了解出租车的运营状况、交通流量、区域发展趋势等信息,从而做出更加明智的决策。 该工具主要通过Spark提供的Distributed Dataset(分布式数据集)和SQL(结构化查询语言)等技术,分析过亿级数据,为用户提供快速、可视化的数据呈现。具体而言,该工具可以处理的数据包括每辆出租车的GPS数据、空车和重车状态转移数据等,用户可以按照时间、区域、出租车号等维度进行数据筛选、统计和可视化呈现。 在使用该工具时,用户可以通过上传需要展示的数据文件,并完成数据清洗、格式转换等操作,然后根据需求配置数据呈现的方式和参数,最终生成图表展示。其中,该工具提供的图表种类包括时间轴图、热力图、等高线图、点聚合图等,用户可以根据自己的需求进行选择和调整。此外,该工具还提供了交互式的功能,比如地图缩放、拖拽等,让用户能够更加直观地了解和分析数据。 总的来说,出租车轨迹图表展示基于Spark分布式计算框架,通过将出租车轨迹数据转化为可视化的图表展示,可以帮助企业更加全面地了解数据的空间分布和时间变化情况,从而为企业的决策提供依据,应用价值较高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值