一种基于canvas的词云绘制方法和系统技术方案

技术编号:28498379 阅读:34 留言:0更新日期:2021-05-19 22:36
本发明专利技术提出一种基于canvas的词云绘制方法和系统,其方法技术方案包括数据配置步骤,获取待生成词云的词的数据,所述词的数据包括所述词的个数及每个所述词的频率;第一圆形绘制步骤,根据频率最高的所述词的频率绘制一第一圆形;第二圆形绘制步骤,获取所述第一圆形的外接正方形,根据所述词的个数及每个所述词的频率,并根据一预设规则绘制第二圆形;递进绘制步骤,若所述第一圆形与所述第二圆形的数量小于所述词的个数,则根据所述词的个数及每个所述词的频率,并根据所述预设规则递进绘制第三圆形。本发明专利技术解决了现有词云绘制方法样式单一、不美观的问题。不美观的问题。不美观的问题。

【技术实现步骤摘要】
一种基于canvas的词云绘制方法和系统


[0001]本专利技术属于图形处理领域,尤其涉及一种基于canvas的词云绘制方法和系统。

技术介绍

[0002]用ECharts做数据可视化时,现有echarts

wordcloud JS插件提供的词云,支持调整整个画图区域的形状或者用任意形状的背景图做为画图区域的背景。可以统一调整词的间距、大小、字体、颜色、旋转角度。也可以对某些词进行文字样式调整来突出显示某些词。但echarts

wordcloud JS插件提供的词云不能单独给每个词加背景颜色或背景图片,也不能给某些词设置特定的间距,也无法根据区域自适应调整词间距。在见过很多这样的词云布局以后,客户已经产生审美疲劳。
[0003]也可以用ECharts散点图模拟词云组件,需要事先知道各种布局中圆心的坐标,圆心半径,在某个特定宽高的区域随机根据某种布局展示这些词。当缩放时,布局的相对位置会进行等比缩放。但ECharts散点图绘制词云组件,本质是对各个散点进行美化。由于布局需要事先计算坐标,故词云的布局方式会有限制。每新增1种布局都需要人工接入,不够自动化。

技术实现思路

[0004]本申请实施例提供了一种基于canvas的词云绘制方法和系统,以至少解决现有词云绘制方法样式单一、不美观的问题。
[0005]第一方面,本申请实施例提供了一种基于canvas的词云绘制方法,包括:数据配置步骤,获取待生成词云的词的数据,所述词的数据包括所述词的个数及每个所述词的频率;第一圆形绘制步骤,根据频率最高的所述词的频率绘制一第一圆形;第二圆形绘制步骤,获取所述第一圆形的外接正方形,根据所述词的个数及每个所述词的频率,并根据一预设规则绘制第二圆形;
[0006]递进绘制步骤,若所述第一圆形与所述第二圆形的数量小于所述词的个数,则根据所述词的个数及每个所述词的频率,并根据所述预设规则递进绘制第三圆形。
[0007]优选的,所述预设规则包括:获取一随机圆心系数,根据所述随机圆心系数确定所述圆形的圆心;根据每个所述词的频率确定所述圆形的半径。
[0008]优选的,所述预设规则还包括:根据所述圆心和所述半径绘制所述圆形时,若所述圆形与现有所述圆形存在重叠,则重新确定所述圆心。
[0009]优选的,所述方法还包括一字号确定步骤,通过梯形算法,并根据所述圆形的半径计算词云中文字的大小。
[0010]优选的,所述方法通过canvas标签所生成的画布实现。
[0011]第二方面,本申请实施例提供了一种基于canvas的词云绘制系统,适用于上述一种基于canvas的词云绘制方法,包括:数据配置单元,获取待生成词云的词的数据,所述词的数据包括所述词的个数及每个所述词的频率;第一圆形绘制单元,根据频率最高的所述
词的频率绘制一第一圆形;第二圆形绘制单元,获取所述第一圆形的外接正方形,根据所述词的个数及每个所述词的频率,并根据一预设规则绘制第二圆形;递进绘制单元,若所述第一圆形与所述第二圆形的数量小于所述词的个数,则根据所述词的个数及每个所述词的频率,并根据所述预设规则递进绘制第三圆形。
[0012]在其中一些实施例中,所述预设规则包括:获取一随机圆心系数,根据所述随机圆心系数确定所述圆形的圆心;根据每个所述词的频率确定所述圆形的半径。
[0013]在其中一些实施例中,所述预设规则还包括:根据所述圆心和所述半径绘制所述圆形时,若所述圆形与现有所述圆形存在重叠,则重新确定所述圆心。
[0014]在其中一些实施例中,所述系统还包括一字号确定单元,通过梯形算法,并根据所述圆形的半径计算词云中文字的大小。
[0015]在其中一些实施例中,所述系统通过canvas标签所生成的画布实现。
[0016]相比于相关技术,本申请实施例提供的一种基于canvas的词云绘制方法自动生成各种布局,可以给每个词加上背景色或背景图片。并且该词云图会随着画图区域宽高变化自动重新绘制。解决了词云领域无法随区域变化自动调整布局的问题。球的大小就代表声量大小,帮助用户快速找到最大声量的词。
附图说明
[0017]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1为本专利技术的基于canvas的词云绘制方法流程图;
[0019]图2为本专利技术的基于canvas的词云绘制系统的框架图;
[0020]图3为本专利技术的电子设备的框架图;
[0021]以上图中:
[0022]1、数据配置单元;2、第一圆形绘制单元;3、第二圆形绘制单元;4、递进绘制单元;5、字号确定单元;60、总线;61、处理器;62、存储器;63、通信接口。
具体实施方式
[0023]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0024]显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的
技术实现思路
的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
[0025]在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相
同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0026]除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属
内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027]以下,结合附图详细介绍本专利技术的实施例:
[0028]图1为本专利技术的基于canvas的词云绘制方法流程图,请参见图1,本专利技术基于canvas的词云绘制方法包括如下步骤:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于canvas的词云绘制方法,其特征在于,包括:数据配置步骤,获取待生成词云的词的数据,所述词的数据包括所述词的个数及每个所述词的频率;第一圆形绘制步骤,根据频率最高的所述词的频率绘制一第一圆形;第二圆形绘制步骤,获取所述第一圆形的外接正方形,根据所述词的个数及每个所述词的频率,并根据一预设规则绘制第二圆形;递进绘制步骤,若所述第一圆形与所述第二圆形的数量小于所述词的个数,则根据所述词的个数及每个所述词的频率,并根据所述预设规则递进绘制第三圆形。2.如权利要求1所述的基于canvas的词云绘制方法,其特征在于,所述预设规则包括:获取一随机圆心系数,根据所述随机圆心系数确定所述圆形的圆心;根据每个所述词的频率确定所述圆形的半径。3.如权利要求2所述的基于canvas的词云绘制方法,其特征在于,所述预设规则还包括:根据所述圆心和所述半径绘制所述圆形时,若所述圆形与现有所述圆形存在重叠,则重新确定所述圆心。4.如权利要求1所述的基于canvas的词云绘制方法,其特征在于,所述方法还包括一字号确定步骤,通过梯形算法,并根据所述圆形的半径计算词云中文字的大小。5.如权利要求1所述的基于canvas的词云绘制方法,其特征在于,所述方法通过canvas标签所生成的画布实现。6.一种...

【专利技术属性】
技术研发人员:胡奥
申请(专利权)人:北京秒针人工智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1