Python中PytagCloud输出杂乱难解
我正在尝试用 Python 创建一个标签云,使用的是 pytagcloud
这个库,下面是我用来生成标签云的代码:
from pytagcloud import create_tag_image, make_tags
from pytagcloud.lang.counter import get_tag_counts
with open("fileName.txt") as file:
Data1 = file.read().lower()
Data = Data1.split()
Data = "%s " * len(Data) % tuple(Data)
tags = make_tags(get_tag_counts(Data), maxsize=150)
create_tag_image(tags, 'cloud_large.png', size=(1200, 800))
这段代码运行没有错误(不过需要花点时间),但是生成的输出文件看起来很乱,不太好读。以下是输出文件的样子:
为什么我在中间会看到这种奇怪的、看起来像矩阵一样的杂乱内容?我该怎么去掉它?标签云似乎没有在文件的中心,怎么才能把它放到中间呢?
任何帮助都非常感谢。
附言 - 我使用的是 Python 2.7
1 个回答
3
如果这个问题仍然有用的话,
我解决这个问题的方法是给最小大小(minsize)参数添加一个值,并过滤掉所有最小的单词(这些单词可能在文本中只出现一次)。我猜这是因为单词数量激增导致的。
我的代码是这样的:
tags = make_tags(get_tag_counts(MY_TEXT), maxsize=120, minsize=5)
tags = [a for a in tags if a['size'] > 7]
create_tag_image(tags, 'images/cloud_large.png', size=(900, 600), fontname='Reenie Beanie', background=(0,0,0))
结果是:

我选择这些值是通过经验得来的。