顶会热词统计

这个是统计结果

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

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

 

 要点一:词云的使用

  引入相关的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); } }

猜你喜欢

转载自www.cnblogs.com/ywqtro/p/12723330.html