我使用python模块(pytagcloud)从文本文件中创建了一个word云,但我将其创建为.jpeg文件。但是,当我将光标悬停在云中的单词上时,我想让云中的单词处于活动状态。当我点击单词云中的特定单词时,文章中相应的句子应该是highlighted.How来做吗?请帮帮我。我在这个题目上有项目工作。我创建了一个gui,在其中我有导入文本文件和读取文本文件的选项。在读取文本文件之后,我需要从.txt文件中的段落中生成单词云。
def wordcloud(self):
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.lang.counter import get_tag_counts
from pytagcloud.colors import COLOR_SCHEMES
import webbrowser
#import Tkinter
#from tkFileDialog import askopenfilename
#filename=askopenfilename()
#with open(filename,'r') as f:
# text=f.read()
#def create_tag_cloud(text):
words = nltk.word_tokenize(self._contents)
doc = " ".join(d for d in words[:70])
tags = make_tags(get_tag_counts(doc), maxsize=100)
create_tag_image(tags, 'sid.jpeg',size=(1600, 1200),fontname='Philosopher',layout=LAYOUT_MIX,rectangular=True)
webbrowser.open('sid.jpeg')发布于 2014-02-07 11:29:07
没有看到您的代码,就没有什么需要纠正的了。
但是,最好的方法是在HTML和CSS中输出标记云,这样您就可以结束类似于他们的演示。的东西了。
在您有了HTML代码之后,一种方法是使用Javascript对单击的单词做出反应,并突出显示在您体内出现的每个单词。
然而,还有许多其他方法可能更适合,但如果没有任何上下文,恐怕是不可能评论的。尽管如此,不要将标记云呈现为jpeg。这是静态的,没有交互的能力。
Edit1:提供的代码
查看github上可用的test_create_html_data(self):函数,了解如何输出HTML和CSS。
只要简单介绍一下您的代码,Python就会在每次运行wordcloud()方法时导入所有这些包。把它们拉出来做这样的事情(我为你启动了适应):
from pytagcloud import (create_tag_image, create_html_data,
make_tags, LAYOUT_MIX)
from pytagcloud.lang.counter import get_tag_counts
from pytagcloud.colors import COLOR_SCHEMES
import webbrowser
# ...the rest of your code...
def wordcloud(self):
words = nltk.word_tokenize(self._contents)
doc = " ".join(d for d in words[:70])
tags = make_tags(get_tag_counts(doc), maxsize=100)
data = create_html_data(tags, (1600,1200), layout=LAYOUT_MIX, fontname='Philosopher', rectangular=True)https://stackoverflow.com/questions/21626488
复制相似问题