绘图--词云

词云

读取文本或表格

  • 表格:读取表格–>统计频率–>词云绘制
  • 文本:读取文本–>分词整理成空格相隔的字符串/统计分词频率–>词云绘制
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
from wordcloud import WordCloud
import jieba
#
1.频率绘图
def getExcelData(path_url):
	"""读取表格数据,统计为字典"""
    data = pd.read_csv(path_url)
    result = {}
    for x in data["职位名称"]:
        if x in result.keys():
            result[x] += 1
        else:
            result[x] = 1
    return result
def makeWordCloud(txt):
	"""绘制词云"""
    import PIL.Image as image
    mask = np.array(image.open(r"C:\Users\dell\Desktop\ting.jpg"))
    ## 这个你背景想什么形状就网上下个什么形状的图片,C:\Users\dellDesktop\ting.jpg 是图片路径
    ## 生成词云图,WordCloud默认不支持中文,需已下载好的中文字库
    wc = WordCloud(background_color="white",# 设置背景色
                    max_words=100,
                    mask=mask,
                    repeat=True,
                    width=1000,
                    height=1000,
                    # 最大字体、最小字体
			        max_font_size=50,
        			min_font_size=10,
                    scale=4,
                    # 定义字体,一般在电脑的C:\Windows\Fonts\路径下
                    font_path="C:\Windows\Fonts\STXINGKA.TTF")
    wc.generate_from_frequencies(txt)
    wc.to_file('cy.png')
    plt.axis("off")  ## 关闭坐标系
    plt.imshow(wc, interpolation="bilinear") ## 显示图像(图片方式) 
    plt.show()

makeWordCloud(getExcelData(r"E:\daima\pythonexpert\algorithm\aa.csv"))
2 字符串绘图
text = open(r"E:\daima\pythonexpert\algorithm\aa.txt", "r",encoding='utf-8').read()
cut_text = jieba.cut(text)
# 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
result = " ".join(cut_text)
print(result)
wc = WordCloud(
       # 设置字体,不指定就会出现乱码
        background_color='white',
        width=1000,
        height=1000,
        mode='RGBA',
        colormap='pink',
        font_path = "C:\Windows\Fonts\STXINGKA.TTF")
wc.generate(result)
wc.to_file(r"wordcloud.png") 
plt.imshow(wc)
plt.axis("off")
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值