Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Python, um die gemeinsame Nutzung von Beispielcode für personalisierte Wortwolken zu implementieren

So verwenden Sie Python, um die gemeinsame Nutzung von Beispielcode für personalisierte Wortwolken zu implementieren

黄舟
黄舟Original
2018-05-25 09:39:563110Durchsuche

Ich habe kürzlich eine visuelle Wortwolke gesehen, und es gibt viele solcher Tools im Internet, aber sie sind nicht perfekt. Einige unterstützen kein Chinesisch, einige chinesische Worthäufigkeitsstatistiken sind unerklärlich, einige unterstützen keine benutzerdefinierten Formen und alle Die Farbe kann nicht angepasst werden, also habe ich online gesucht und beschlossen, mit Python die Wortwolke zu zeichnen

zuerst das Bild

Wortwolkendiagramm

Vorlage ist erforderlich

pip install jieba
pip install wordcloud
Sie muss auch

installiert werdenIch weiß nicht viel darüber Die anderen beiden Dinge, die ich auf Baidu geschrieben habe

pip install scipy
pip install matplotlib
Weil die Verwendung des Ubuntu-Systems nicht so problematisch ist wie Windows und es nicht so viele Fehler gibt


Freust du dich darauf? Sehen Sie, wie viele Menschen ihre eigenen Wortwolken erstellen? Sind Sie begeistert? Machen Sie es einfach sofort, Impuls ist die erste kreative Kraft.


jieba ist eine sehr einfach zu verwendende chinesische Wortsegmentierungsvorlage


jeiba-chinesisches Dokument


Was Wordcloud betrifft, gibt es kein chinesisches Dokument Aber wenn Sie wissen, wie man rät, können wir den Quellcode erraten, wenn Ihr Englisch nicht gut ist.


Zuerst meinen gesamten Code beisteuern

#-*-coding:utf-8—-*-
import jieba.analyse
from wordcloud import WordCloud,ImageColorGenerator
from scipy.misc import imread
import matplotlib.pyplot as plt

class wc:
  def init(self,txt_file,img_file,font_file):
   self.f = open(txt_file,'r')
  self.txt = self.f.read()
   self.f.close()
  self.tags = jieba.analyse.extract_tags(self.txt,topK=100)
  #topK说白了就是返回几个关键词
  self.text = ' '.join(self.tags) #把分词链接起来,加空格因为英文靠空格分词
  self.img = imread(img_file)
  self.wc = WordCloud(font_path=font_file,background_color='white',max_words=100,mask=self.img,max_font_size=80)
###直接在这里进行猜###
#font_path指的是字体文件路径,因为wordcloud自带的字体不支持中文所以我们要指定一个字体文件,否者输出的图片全是框框
#background_color 默认是黑色 我设置成白色
#max_words最大显示的词数
#mask 背景图片
#max_font_size 最大字体字号
  self.word_cloud = self.wc.generate(self.text)

  def show_wc(self):
  #img_color = ImageColorGenerator(self.img)
    plt.imshow(self.word_cloud)
#可以通过 plt.imshow(self.wc.recolor(color_func=img_color))使图片颜色跟字体颜色一样
    plt.axis("off")
    plt.show()


if name=='main':
  mywc = wc('sanwen.txt','out.png','font.ttc')
  mywc.show_wc()

Verwenden Sie wc.recolor(color_func=img_color)

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python, um die gemeinsame Nutzung von Beispielcode für personalisierte Wortwolken zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn