pyhton 定制词云

所需要的包

wordcloud: 处理词云的工具包
matplotlib:绘图的工具包
numpy: Python二维数据的工具包

Wordcloud的工具包使用到的属性的整理

# 创建对象
wc = wordcloud.WordCloud()
# 获取文本
txt = open(os.path.join(os.path.dirname(__file__), "1.txt")).read()
# 生成一个词云
wy = wc.generate(txt)
# 将生成的词云导出来
wy.to_file("1.png")

wordcloud的常用参数整理:

width 词云图片宽度,默认400像素

height 词云图片高度 默认200像素

background_color 词云图片的背景颜色,默认为黑色

background_color='white'

font_step 字号增大的步进间隔 默认1号

font_path 指定字体路径 默认None,对于中文可用font_path='msyh.ttc'

mini_font_size 最小字号 默认4号

max_font_size 最大字号 根据高度自动调节

max_words 最大词数 默认200

stopwords 不显示的单词 stop_words={"python","java"}

Scale 默认值1。值越大,图像密度越大越清晰

prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?

relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍
mask 指定词云形状图片,默认为矩形

通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)
import imageio
mk = imageio.imread("picture.png")
w = wordcloud.WordCloud(mask=mk)
中文分词库jieba的常用方法
精确模式(最常用,只会这个就行):每个字只用一遍,不存在冗余词汇。jieba.lcut('动力学和电磁学')

全模式:把每个字可能形成的词汇都提取出来,存在冗余。jieba.lcut('动力学和电磁学',cut_all=True)

搜索引擎模式:将全模式分词的结果从短到长排列好。jieba.lcut_for_search('动力学和电磁学')

eg:
>>> import jieba
>>> textlist1 = jieba.lcut('动力学和电磁学')
>>> textlist1
['动力学', '和', '电磁学']
>>> textlist2 = jieba.lcut('动力学和电磁学',cut_all=True)
>>> textlist2
['动力', '动力学', '力学', '和', '电磁', '电磁学', '磁学']
>>> textlist3 = jieba.lcut_for_search('动力学和电磁学')
>>> textlist3
['动力', '力学', '动力学', '和', '电磁', '磁学', '电磁学']

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 Scipy Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方...
    Bobby0322阅读 34,830评论 1 13
  • Python 兵器谱 摘要: 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,...
    hzyido阅读 65,423评论 0 48
  • 一双红宝似的眼睛像哭了一天一夜,细长的耳朵竖在脑袋顶端,雪白的“衣服”披在身上,让人担心它跑进雪地里无法寻觅。它便...
    妙笔老妈阅读 500评论 0 1
  • 《我想吃掉你的胰脏》这部电影现在正在上映,这是一部十分清纯的校园恋爱题材的日本动画电影,它也一贯贯彻了日本动漫那种...
    白雪先生阅读 2,104评论 0 0
  • 今天有人在朋友圈里面发文,生活压力越来越大了,越来越不想结婚了。我看了看窗外的天色,嗯,黑了,工作还没完,又要加班...
    苏默寻阅读 191评论 0 1