Python中PytagCloud输出杂乱难解

1 投票
1 回答
674 浏览
提问于 2025-04-18 01:04

我正在尝试用 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))

结果是:

在这里输入图片描述

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

撰写回答