在previous question,我問社區如何計算一個句子中每個連續兩個單詞的頻率,我得到了一個很好的答案! 現在我試圖從使用軟件包pytagcloud的結果中創建一個文字雲。如何在沒有擁擠的圖像的情況下使用pytagcloud構建一個乾淨的詞雲 - Python
我確實有一個問題,那就是製作的圖片擁擠,而且文字一起吻合。任何想法,如果有一個函數來分隔單詞,並使他們可讀或如果有任何其他方式來做到這一點在Python中。
謝謝!
我的代碼是波紋管。這是我用於測試的文本的link 我試圖使用較少數量的文字組合,但這並沒有改變圖片中文字的人羣。
我也添加了一些像「佈局」和「大小」和「fontname ='龍蝦'和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)
這是輸出結果我得到的一個例子:HERE
最佳的結果將是類似的圖像之一HERE
嗨vinaut !!!非常感謝你的偉大答案!我試圖複製結果,但是我失敗了,你的雲看起來比我的好1000倍!你可以請你發佈你的代碼,以便我可以看到我做錯了什麼?再次,非常感謝你! – mongotop
不用擔心,用用於生成圖像的代碼編輯答案。 – vinaut
非常感謝vinaut! PS - 你的筆記本電腦有一些魔力! :) http://imgur.com/CmoOB7y這是最好的,我可以使用maxsize = 50 25個單詞,size =(1300,1100)。我不知道爲什麼它不會像你的矩形一樣使用這些單詞,即使矩形=真。 – mongotop