zoukankan      html  css  js  c++  java
  • 顶会热词统计

    这个是统计结果

    根据论文摘要中的词频统计的,词频越高,在图中显示的文字越大

    通过点击图中的每一项,可以查询出相关论文的链接

     

     要点一:词云的使用

      引入相关的js文件

    <script src="./js/echarts-wordcloud.js"></script>

        词云的绘制

    <script>
            var chart = echarts.init(document.getElementById('main'));
            var postURL = "/Diploma/getData";
            var mydata = new Array();
            $.ajaxSettings.async = false;
            $.post(postURL, {}, function(rs) {
                var dataList = JSON.parse(rs);
                for (var i = 0; i < dataList.length; i++) {
                    var d = {};
                    d['name'] = dataList[i].keyword;
                    d['value'] = dataList[i].value;
                    mydata.push(d);
                }
            });
            $.ajaxSettings.async = true;
            var option = {
                tooltip : {},
                series : [ {
                    type : 'wordCloud',
                    gridSize : 2,
                    sizeRange : [ 20, 50 ],
                    rotationRange : [ -90, 90 ],
                    shape : 'pentagon',
                    width : 800,
                    height : 600,
                    drawOutOfBound : false,
                    textStyle : {
                        normal : {
                            color : function() {
                                return 'rgb('
                                        + [ Math.round(Math.random() * 160),
                                                Math.round(Math.random() * 160),
                                                Math.round(Math.random() * 160) ]
                                                .join(',') + ')';
                            }
                        },
                        emphasis : {
                            shadowBlur : 10,
                            shadowColor : '#333'
                        }
                    },
                    data : mydata
                } ]
            };
            chart.setOption(option);
            chart.on('click', function(params) {
                var url = "getDiplomaLink?keyword=" + params.keyword;
                window.location.href = url;
            });
        </script>

    要点二:词频的统计

    for(Data data:dataList) {
                String name = data.getPapername();
                String[] keyword= name.split(" "); //提取每篇论文题目中出现的单词存入集合
                names = (String[]) ArrayUtils.addAll(keywords, names);
            }
            HashMap<String, Integer> name_value = new HashMap<>();
    
            for(String name:names) {
                name_value.put(name, !name_value.containsKey(name)?1:name_value.get(name)+1);  //利用集合的方法判断是否存在重复的值,重复的话在原来的基础上加1
            }
    
            for(String name:name_value.keySet()) {
                Word word = new Word();
            //一般情况下有效的关键词(length>4)存入一个集合中
    if(name!=null&&(name_value.get(name)>1)&&(name.length()>4)) { word.setName(name); word.setValue(name_value.get(name)); wordList.add(word); } }
  • 相关阅读:
    node.js创建服务,发送请求后返回数据
    node.js写入文件
    node.js读取文件
    elementUi的隐藏组件el-scrollbar滚动条
    [笔记]何为Linux及其文件系统(二)
    [笔记]何为Linux及其文件系统(一)
    [转文]简单理解数学、密码学、计算机、互联网、分布式数据库、区块链、分布式账本、密码货币
    [转文]Linux搭建最简单的邮件服务器
    [笔记]Why is UDP used for DNS instead of TCP?
    什么是IP地址、子网掩码、路由和网关?
  • 原文地址:https://www.cnblogs.com/ywqtro/p/12723330.html
Copyright © 2011-2022 走看看