如何在没有拥挤图像的情况下使用pytagcloud构建干净的词云-Python

Mongotop

在上一个问题中,我问社区如何计算一个句子中每个连续两个单词的出现频率,我得到了一个很好的答案!现在,我正在尝试使用pytagcloud软件包从结果中构建词云。

我确实遇到的问题是,所产生的图片很拥挤,字词相互混淆。任何想法,如果有一个功能来分离单词并使它们可读,或者是否有其他替代方法可以在python中做到这一点。
谢谢!

我的代码在下面。这是我用于测试的文本链接,我尝试使用少量的单词组合,但这并没有改变图片中文本的人群。
我还添加了一些功能,例如玩“布局”和“大小”以及“ fontname ='Lobster'和fontzoom = 1”,但是它们都没有给出最佳结果,这是一个干净的词云图片,其中词不拥挤。

import operator
import urllib2

from roundup.backends.indexer_common import STOPWORDS
import requests, collections, bs4
Data = "TEXT FROM The link above- TEXT file"
two_words = [' '.join(ws) for ws in zip(Data, Data[1:])]
wordscount = {w:f for w, f in Counter(two_words).most_common() if f > 12}
sorted_wordscount = sorted(wordscount.iteritems(), key=operator.itemgetter(1))

print sorted_wordscount;

from pytagcloud import create_tag_image, create_html_data, make_tags, LAYOUT_HORIZONTAL, LAYOUTS, LAYOUT_MIX, LAYOUT_VERTICAL, LAYOUT_MOST_HORIZONTAL, LAYOUT_MOST_VERTICAL
from pytagcloud.colors import COLOR_SCHEMES
from pytagcloud.lang.counter import get_tag_counts

create_tag_image(make_tags(sorted_wordscount), 'filename.png', size=(1300,1150), background=(0, 0, 0, 255), layout=LAYOUT_MIX, fontname='Molengo', rectangular=True)

这是我得到的输出结果的示例:此处
的最佳结果类似于此处的图像之一

Vinaut

您正在按照升序而不是降序对标签进行排序,这可能是pytagcloud期望的。您应该将排序行更改为:

sorted_wordscount = sorted(wordscount.iteritems(), key=operator.itemgetter(1),reverse=True)

固定后,关键参数就是make_tags中的maxsize

create_tag_image(make_tags(sorted_wordscount[:],maxsize=200), 'filename.png', size=(1300,1150), background=(0, 0, 0, 255), layout=LAYOUT_MIX, fontname='Molengo', rectangular=True)

如果我理解正确,那么它将设置最大字体大小(具有最高频率的标签的字体大小),并计算与此字体有关的所有其他字体大小。影响字符串分配方式的另一个参数是窗口的大小。

您将必须使用这些参数。

请注意,库函数get_tag_counts的作用不只是返回频率:它还过滤常用单词,应用小写字母,并且在进行操作时,通常应该比简单排序更好地分配标签。

进行了这些更改后,您应该会得到类似的信息(通过在帖子中链接的文件中的get_tag_counts,在1000x1000的窗口中,maxsize = 260,并限制在前50个标签上):

在此处输入图片说明

编辑-根据要求,上面的图像创建代码:

import operator
import os
import urllib2

from roundup.backends.indexer_common import STOPWORDS
import requests, collections, bs4
with open("./const11.txt") as file:
  Data1 = file.read().lower()
  Data = Data1.split()
two_words = [' '.join(ws) for ws in zip(Data, Data[1:])]
wordscount = {w:f for w, f in collections.Counter(two_words).most_common() if f > 5}
sorted_wordscount = sorted(wordscount.iteritems(), key=operator.itemgetter(1),reverse=True)

from pytagcloud import create_tag_image, create_html_data, make_tags, LAYOUT_HORIZONTAL, LAYOUTS, LAYOUT_MIX, LAYOUT_VERTICAL, LAYOUT_MOST_HORIZONTAL, LAYOUT_MOST_VERTICAL
from pytagcloud.colors import COLOR_SCHEMES
from pytagcloud.lang.counter import get_tag_counts

tags = make_tags(get_tag_counts(Data1)[:50],maxsize=260)
create_tag_image(tags,'filename.png', size=(1000,1000), background=(0, 0, 0, 255), layout=LAYOUT_MIX, fontname='Lobster', rectangular=True)`

在Ubuntu 13.04上使用python 2.7.5,在pygame中安装了apt-get,而其余软件包则使用pip。“ const11.txt”是问题中链接的文本文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有进程的情况下使用python并行处理输入?

来自分类Dev

Python打印之谜-如何在没有空格的情况下进行打印

来自分类Dev

如何在没有Tkinter的情况下捕获Python中的Enter键

来自分类Dev

如何使用python中的BeautifulSoup在没有类名的情况下提取跨度内的文本

来自分类Dev

如何在python中没有regex的情况下检查字符串的要求?

来自分类Dev

使用python的枕头库:如何在不创建图像绘制对象的情况下绘制文本

来自分类Dev

如何在没有python控制台的情况下运行tkinter应用程序

来自分类Dev

如何在没有云功能的情况下在GCP中安排更长的python脚本

来自分类Dev

我如何在python中没有\ n的情况下打印文本文件

来自分类Dev

如何在python中没有群集质心的情况下使群集不可见?

来自分类Dev

如何在Python中打开多个加密的PDF并在没有密码的情况下保存

来自分类Dev

如何在没有Octave IDE的情况下运行Octave代码(类似于Python)?

来自分类Dev

如何在没有窗口的情况下运行Python程序?

来自分类Dev

如何在没有Python调试库的情况下以Cmake / Visual Studio在调试模式下构建OpenCV

来自分类Dev

如何在没有路径的情况下运行python文件?

来自分类Dev

如何在没有提示的情况下使用Python静默运行批处理文件?

来自分类Dev

如何在没有setup.py的情况下从python项目制作快照包?

来自分类Dev

Selenium with Python:如何在没有id和class的情况下提取数据?

来自分类Dev

如何在没有索引的情况下将 Python 字典保存到 csv 文件?

来自分类Dev

如何在没有可用库函数的情况下将列转换为行 (Python)

来自分类Dev

如何在没有返回空列表的情况下对 Python 列表进行子类化?

来自分类Dev

python pandas如何在没有未命名列的情况下读取excel文件

来自分类Dev

使用python在没有SKlearn的情况下构建多类逻辑回归分类器

来自分类Dev

如何在没有sympy的情况下使用python找到符号导数?

来自分类Dev

如何在Python中没有任何模块的情况下求解方程?

来自分类Dev

如何在没有外部模块的情况下清理 Python 3 文本块?

来自分类Dev

如何在没有一行 for 循环的情况下编写此 Python 代码?

来自分类Dev

如何在没有 pip install 的情况下导入 python 包

来自分类Dev

如何使用python语言在没有密码的情况下使用SFTP访问服务器

Related 相关文章

  1. 1

    如何在没有进程的情况下使用python并行处理输入?

  2. 2

    Python打印之谜-如何在没有空格的情况下进行打印

  3. 3

    如何在没有Tkinter的情况下捕获Python中的Enter键

  4. 4

    如何使用python中的BeautifulSoup在没有类名的情况下提取跨度内的文本

  5. 5

    如何在python中没有regex的情况下检查字符串的要求?

  6. 6

    使用python的枕头库:如何在不创建图像绘制对象的情况下绘制文本

  7. 7

    如何在没有python控制台的情况下运行tkinter应用程序

  8. 8

    如何在没有云功能的情况下在GCP中安排更长的python脚本

  9. 9

    我如何在python中没有\ n的情况下打印文本文件

  10. 10

    如何在python中没有群集质心的情况下使群集不可见?

  11. 11

    如何在Python中打开多个加密的PDF并在没有密码的情况下保存

  12. 12

    如何在没有Octave IDE的情况下运行Octave代码(类似于Python)?

  13. 13

    如何在没有窗口的情况下运行Python程序?

  14. 14

    如何在没有Python调试库的情况下以Cmake / Visual Studio在调试模式下构建OpenCV

  15. 15

    如何在没有路径的情况下运行python文件?

  16. 16

    如何在没有提示的情况下使用Python静默运行批处理文件?

  17. 17

    如何在没有setup.py的情况下从python项目制作快照包?

  18. 18

    Selenium with Python:如何在没有id和class的情况下提取数据?

  19. 19

    如何在没有索引的情况下将 Python 字典保存到 csv 文件?

  20. 20

    如何在没有可用库函数的情况下将列转换为行 (Python)

  21. 21

    如何在没有返回空列表的情况下对 Python 列表进行子类化?

  22. 22

    python pandas如何在没有未命名列的情况下读取excel文件

  23. 23

    使用python在没有SKlearn的情况下构建多类逻辑回归分类器

  24. 24

    如何在没有sympy的情况下使用python找到符号导数?

  25. 25

    如何在Python中没有任何模块的情况下求解方程?

  26. 26

    如何在没有外部模块的情况下清理 Python 3 文本块?

  27. 27

    如何在没有一行 for 循环的情况下编写此 Python 代码?

  28. 28

    如何在没有 pip install 的情况下导入 python 包

  29. 29

    如何使用python语言在没有密码的情况下使用SFTP访问服务器

热门标签

归档