ECharts 数据可视化 --词云图

词云图(WordCloud)是对文本中出现频率较高的“关键词”予以视觉化的展现,

词云图可以过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。

词云图是一种非常好的图形展现方式,这种图形可以让人们对一个网页或者一篇文章进行语义分析,也就是分析同一篇文章中或者同一网页中关键词出现的频率。词云图对于产品排名、热点问题或舆情监测是十分有帮助的。

在最新版Echarts 4.x官网中,已不再支持词云图功能,也找不到相应的API。

若需要进行词云图开发,则需要引入echarts.js文件,再通过命令引入echarts-wordcloud.min.js文件。

注意各个版本对应相应的echarts-wordcloud.min.js文件。

利用2019年10月全球编程语言的TIOBE排名数据展现其中的文本信息 如图所示

<html>

<head>

    <meta charset="utf-8">

    <title>4-11 词云图</title>

    <script  src='echarts.js'></script>

    <script  src='echarts-wordcloud.min.js'></script>

</head>

<body>

    <div id="main" style="width:700px;height: 500px;border: 1px solid black"></div>

    <script type="text/javascript">

        //基于准备好的dom,初始化ECharts图表

        var myChart = echarts.init(document.getElementById("main"));

        var option = {  //指定图表的配置项和数据

            backgroundColor: 'rgba(128, 128, 128, 0.1)',  //rgba设置透明度0.1

            title: {  //配置标题组件

                text: '全球编程语言的TIOBE排名',

                x: 'center', y: 15,

                textStyle: {

                    color: 'green', fontSize: 22,

                }

            },

            tooltip: { show: true },  //配置提示框组件

            series: [{  //数据系列及其配置

                name: '全球编程语言的TIOBE排名',  //设置名称

                type: 'wordCloud',  //设置图表类型为字云图

                sizeRange: [15, 100],  //设置数据大小范围

                size: ['80%', '80%'],  //设置显示的字云图的大小

                textRotation: [0, 45, 90, 135, -45, -90],  //设置文字倾斜角度

                textPadding: 3,  //设置文字之间的间距

                autoSize: { enable: true, minSize: 5 },  //设置文字的自动大小

                textStyle: {

                    normal: {

                        color: function () {

                            return 'rgb(' + [

                                Math.round(Math.random() * 255),

                                Math.round(Math.random() * 255),

                                Math.round(Math.random() * 255)

                            ].join(',') + ')';

                        }

                    },

                    emphasis: {

                        shadowBlur: 26,

                        color: '#333',

                        shadowColor: '#ccc',

                        fontSize: 20

                    }

                },

                data: [  //设置具体的数据

                    { name: "Java", value: 16884 }, { name: "C", value: 16180 },

                    { name: "Python", value: 9089 }, { name: "C++", value: 6229 },

                    { name: "C#", value: 3860 }, { name: "VB.NET", value: 3745 },

                    { name: "Ruby", value: 1318 }, { name: "Assembly", value: 1307 },

                    { name: "R", value: 1261 }, { name: "Delphi", value: 1046 },

                    { name: "VB", value: 1234 }, { name: "Go", value: 1100 },

                    { name: "Delphi", value: 1046 }, { name: "SAS", value: 915 },

                    { name: "Perl", value: 1023 }, { name: "Matlab", value: 924 },

                    { name: "PL/SQL", value: 822 }, { name: "D", value: 814 },

                    { name: "Scheme", value: 193 }, { name: "COBEL", value: 447 },

                    { name: "Scratch", value: 524 }, { name: "Dart", value: 448 },

                    { name: "ABAP", value: 447 }, { name: "Scala", value: 442 },

                    { name: "Fortran", value: 439 }, { name: "LiveCode", value: 169 },

                    { name: "Lisp", value: 409 }, { name: "F#", value: 391 }, ,

                    { name: "Rust", value: 356 }, { name: "Kotlin", value: 319 },

                    { name: "Ada", value: 316 }, { name: "Logo", value: 261 },

                    { name: "SQL", value: 1935 }, { name: "RPG", value: 274 },

                    { name: "PHP", value: 1909 }, { name: "LabVIEW", value: 243 },

                    { name: "Haskell", value: 209 }, { name: "Bash", value: 196 },

                    { name: "ActionScript", value: 182 }, { name: "Transact-SQL", value: 569 },

                    { name: "PowerShell", value: 178 }, { name: "VBScript", value: 203 },

                    { name: "JavaScript", value: 2076 }, { name: "TypeScript", value: 304 },

                    { name: "Objective-C", value: 1501 }, { name: "Prolog", value: 261 },

                    { name: "Groovy", value: 1394 }, { name: "Swift", value: 1362 },

                    { name: "Crystal", value: 168 }, { name: "Lua", value: 379 },

                    { name: "Julia", value: 224 }

                ]  //data结束

            }]  //series结束

        };  //option结束

        myChart.setOption(option);  //为echarts对象加载数据

    </script>

</body>

</html>

<html>

<head>
	<meta charset="utf-8">
	<title>4-11 词云图</title>
	<script  src='echarts.js'></script>
	<script  src='echarts-wordcloud.min.js'></script>
</head>

<body>
	<div id="main" style="width:700px;height: 500px;border: 1px solid black"></div>
	<script type="text/javascript">
		//基于准备好的dom,初始化ECharts图表
		var myChart = echarts.init(document.getElementById("main"));
		var option = {  //指定图表的配置项和数据
			backgroundColor: 'rgba(128, 128, 128, 0.1)',  //rgba设置透明度0.1
			title: {  //配置标题组件
				text: '全球编程语言的TIOBE排名',
				x: 'center', y: 15,
				textStyle: {
					color: 'green', fontSize: 22,
				}
			},
			tooltip: { show: true },  //配置提示框组件
			series: [{  //数据系列及其配置
				name: '全球编程语言的TIOBE排名',  //设置名称
				type: 'wordCloud',  //设置图表类型为字云图
				sizeRange: [15, 100],  //设置数据大小范围
				size: ['80%', '80%'],  //设置显示的字云图的大小
				textRotation: [0, 45, 90, 135, -45, -90],  //设置文字倾斜角度
				textPadding: 3,  //设置文字之间的间距
				autoSize: { enable: true, minSize: 5 },  //设置文字的自动大小
				textStyle: {
					normal: {
						color: function () {
							return 'rgb(' + [
								Math.round(Math.random() * 255),
								Math.round(Math.random() * 255),
								Math.round(Math.random() * 255)
							].join(',') + ')';
						}
					},
					emphasis: {
						shadowBlur: 26,
						color: '#333',
						shadowColor: '#ccc',
						fontSize: 20
					}
				},
				data: [  //设置具体的数据
					{ name: "Java", value: 16884 }, { name: "C", value: 16180 },
					{ name: "Python", value: 9089 }, { name: "C++", value: 6229 },
					{ name: "C#", value: 3860 }, { name: "VB.NET", value: 3745 },
					{ name: "Ruby", value: 1318 }, { name: "Assembly", value: 1307 },
					{ name: "R", value: 1261 }, { name: "Delphi", value: 1046 },
					{ name: "VB", value: 1234 }, { name: "Go", value: 1100 },
					{ name: "Delphi", value: 1046 }, { name: "SAS", value: 915 },
					{ name: "Perl", value: 1023 }, { name: "Matlab", value: 924 },
					{ name: "PL/SQL", value: 822 }, { name: "D", value: 814 },
					{ name: "Scheme", value: 193 }, { name: "COBEL", value: 447 },
					{ name: "Scratch", value: 524 }, { name: "Dart", value: 448 },
					{ name: "ABAP", value: 447 }, { name: "Scala", value: 442 },
					{ name: "Fortran", value: 439 }, { name: "LiveCode", value: 169 },
					{ name: "Lisp", value: 409 }, { name: "F#", value: 391 }, ,
					{ name: "Rust", value: 356 }, { name: "Kotlin", value: 319 },
					{ name: "Ada", value: 316 }, { name: "Logo", value: 261 },
					{ name: "SQL", value: 1935 }, { name: "RPG", value: 274 },
					{ name: "PHP", value: 1909 }, { name: "LabVIEW", value: 243 },
					{ name: "Haskell", value: 209 }, { name: "Bash", value: 196 },
					{ name: "ActionScript", value: 182 }, { name: "Transact-SQL", value: 569 },
					{ name: "PowerShell", value: 178 }, { name: "VBScript", value: 203 },
					{ name: "JavaScript", value: 2076 }, { name: "TypeScript", value: 304 },
					{ name: "Objective-C", value: 1501 }, { name: "Prolog", value: 261 },
					{ name: "Groovy", value: 1394 }, { name: "Swift", value: 1362 },
					{ name: "Crystal", value: 168 }, { name: "Lua", value: 379 },
					{ name: "Julia", value: 224 }
				]  //data结束
			}]  //series结束
		};  //option结束
		myChart.setOption(option);  //为echarts对象加载数据 
	</script>
</body>

</html>


 

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ECharts词云图是一种数据可视化的方式,通过使用ECharts库可以实现对数据库中的数据进行读取和展示。实现该功能主要有以下几个步骤: 1. 连接数据库:首先需要使用适当的方式连接到数据库,可以使用MySQL、SQLite、MongoDB等各种数据库。连接数据库需要提供正确的数据库连接地址、用户名和密码等信息,以确保能够成功连接数据库。 2. 读取数据:一旦成功连接到数据库,就可以编写查询语句来读取需要的数据。根据词云图的需求,可能需要读取一个或多个字段的数据,并对数据进行简单的处理,例如去除重复项或按照某种指标进行排序等。 3. 处理数据:根据词云图的要求,需要对数据进行一些必要的处理。例如,可以统计每个词出现的频率,并按照频率的大小进行排序,以便在词云图上更好地展示。 4. 使用ECharts绘制词云图ECharts是一个功能强大的前端图表库,可以通过它来绘制各种图表,包括词云图。在绘制词云图之前,需要先引入ECharts库,并创建一个适当的容器来显示图表。 5. 构造词云图所需的数据格式:根据ECharts的要求,需要将读取和处理后的数据转换成特定的格式,通常是一个包含名称和值的数组。名称表示词的内容,而值则表示词的权重或出现频率。 6. 使用ECharts进行配置和绘制:最后,通过ECharts提供的API,可以进行一系列的配置,如设置词云图的大小、颜色、形状等,以及添加事件处理程序等。完成配置后,通过调用ECharts的绘制方法,将生成的词云图绘制在上述创建的容器中。 通过以上步骤,就可以实现使用ECharts词云图的画法读取数据库数据。这样,通过数据库中的数据进行可视化的展示,可以更直观地呈现数据的特征和关联,为数据分析和决策提供参考依据。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值