Python-WordCloud词云库初始化参数

本文介绍了Python的WordCloud库中初始化函数的关键参数,如font_path用于设置字体,width和height定义画布尺寸,mask可设定词云形状,contour_width和contour_color控制轮廓,scale调整画布大小,min_font_size和max_font_size设置字体大小范围,stopwords可以过滤词汇,background_color设定背景颜色,relative_scaling影响词频与字体大小的关系,color_func自定义颜色函数,regexp用于分隔文本,collocations控制词组搭配,normalize_plurals处理复数形式,以及其他相关参数的详细说明。
  • 当前环境:Python3.10.0下去下载的WordCloud词云库
  • 初始化函数来源:WordCloud初始化函数__init__代码

__init__部分代码如下:

 def __init__(self, font_path=None, width=400, height=200, margin=2,
                 ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,
                 color_func=None, max_words=200, min_font_size=4,
                 stopwords=None, random_state=None, background_color='black',
                 max_font_size=None, font_step=1, mode="RGB",
                 relative_scaling='auto', regexp=None, collocations=True,
                 colormap=None, normalize_plurals=True, contour_width=0,
                 contour_color='black', repeat=False,
                 include_numbers=False, min_word_length=0, collocation_threshold=30):

其中,

  • font_path:String类型,格式可以是OTF 或TTF。Linux下默认是和WordCloud.py同目录下的DroidSansMono.ttf,如果没有该字体库,可以自定义添加。
  • width:int类型,画布的宽度:默认400
  • height:int类型,画布的高度:默认200
  • prefer_horizontal:float类型,词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )
  • mask:默认为空。如果参数为空,则使用二维遮罩作为画布来绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread(‘读取一张图片.png’),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。
  • contour_width:float类型,默认为0。如果mask不为空,且contour_width>0,则画布将会绘制contour_width大小的轮廓
  • contour_color:默认为‘black’。画布轮廓的颜色
  • scale:float类型,默认为1。按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍。对于大型文字云图像,使用比例而不是更大的画布尺寸会明显更快,但可能会导致用词更粗糙。
### 如何使用Python生成中文 为了生成高质量的中文,通常需要两个主要的支持:`wordcloud` 和 `jieba`。前者负责绘制图,后者则专注于中文分处理。 #### 安装必要的 在开始之前,确保已经安装了所需的第三方: ```bash pip install wordcloud jieba matplotlib ``` #### 导入初始化配置 加载必需的模块,并设定一些基本参数以优化后续操作效率[^2]。 ```python import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt ``` #### 准备文本数据 获取待分析的文字材料。这里假设有一个字符串变量 `text` 存储着一段或多段文字内容。对于中文而言,在构建频表前应当先对其进行精确分割[^1]。 ```python # 假设 text 是预先定义好的包含大量文本信息的字符串 words = ' '.join(jieba.cut(text)) ``` #### 创建并调整WordCloud对象 根据个人喜好自定义外观特性,比如背景颜色、字体路径(特别是当涉及非英文字符时)、最大单数等[^3]。 ```python wc = WordCloud( background_color="white", # 设置背景为白色,默认为黑色 max_words=2000, # 显示最多的汇数量 font_path='/path/to/simhei.ttf', # 中文支持需指定中文字体文件路径 width=800, height=400 ).generate(words) ``` > **注意**: 需要提供一个有效的中文字体文件路径给 `font_path` 参数;否则可能会遇到乱码问题。 #### 展示或保存生成的结果 最后一步就是渲染图像并将之呈现出来或是导出成静态文件形式。 ```python plt.imshow(wc, interpolation='bilinear') plt.axis("off") # 关闭坐标轴显示 plt.show() # 或者直接保存到本地磁盘上 wc.to_file('chinese_word_cloud.png') ``` 通过上述流程即可完成一张美观大方又富含意义的中文图表创作过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值